2015-08-20 2 views
0

Я пытаюсь загрузить 4 изображения в свой каталог файлов, а также хотел бы сохранить ссылку на них в базе данных. но с моим текущим кодом ниже, то, что он делает, это то, что он вставляет другую строку в базу данных вместо того, чтобы помещать изображение 1 в img1 и так далее.Как вставить изображение в mysql

Я отказался. Я не знаю, что я делаю неправильно здесь.

enter image description here

<?php 
    if(isset($_POST['go'])) 
     { 
     if(isset($_FILES['file_array'])) 
     { 
      $name_array = $_FILES['file_array']['name']; 
      $tmp_name_array = $_FILES['file_array']['tmp_name']; 
      $type_array = $_FILES['file_array']['type']; 
      $size_array = $_FILES['file_array']['size']; 
      $error_array = $_FILES['file_array']['error']; 
      $currently_item = ""; 
     for($i = 0; $i < count($tmp_name_array); $i++) 
     { 
      if(move_uploaded_file($tmp_name_array[$i],'users_posted_data/'.$name_array[$i])) 
      { 
        $currently_item = current($_FILES['file_array']['name']); 
        $sql = $conn->query("INSERT INTO posts(img1, img2, img3) Values('{$currently_item}')"); 
        echo $name_array[$i] . "uploaded successfully" . '<br>'; 
      } 
      else 
      { 

      } 
     } 

    } 
} 
?> 


          <form action="" method="post" enctype="multipart/form-data"> 
           <input type="file" name="file_array[]"><br><br> 
           <input type="file" name="file_array[]"><br><br> 
           <input type="file" name="file_array[]"><br><br> 
           <input type="file" name="file_array[]"><br><br> 
           <input type="submit" name="go" value="Publish"> 
         </form> 
+0

читайте этот учебник: http://techstream.org/Web-Development/PHP/Multiple-File-Upload-with-PHP-and-MySQL и это: http://stackoverflow.com/questions/2704314/multiple -file-загрузки-в-PHP –

ответ

1

Попробуйте это:

В цикле:

$currently_item[] = current($_FILES['file_array']['name']); 

из петли

$currently_item = current($_FILES['file_array']['name']); 

    $sql = $conn[![enter image description here][1]][1]->query("INSERT INTO posts(img1, img2, img3) 
    Values('".$currently_item[0]."','".$currently_item[1]."','".$currently_item[2]."')"); 

ли выполнять проверку достоверности такой s, если значение существует или нет.

1

Попробуйте передать файлы с использованием функции LOAD_FILE. Она возвращает содержимое файла в виде строки, которые вы можете использовать в INSERT или UPDATE команд -

INSERT INTO table(id, file_name, file_data) VALUES(1, 'img.png', LOAD_FILE('img.png')); 

LOAD_FILE функции.