使用php将图像添加到文件夹并将其名称保存在数据库中

时间:2015-08-09 16:55:24

标签: php html mysql database mysqli

我正在尝试上传文件夹中的2个文件并将其名称和图片路径保存在数据库中,这是我的HTML代码:

<input class="field2" type="file" name="file[]" multiple="multiple" />

我的php代码是:

$i=0;
$count=0;             
     foreach ($_FILES['file']['name'] as $filename) 
     {
           if(file_exists('upload/'.$filename))
           {
               echo "That File Already Exisit";
               break;
           }
           else
           {
               $target='upload/';//folder path
               $tmp=$_FILES['file']['tmp_name'][$count];
               $count=$count + 1;
               $i=$i+1;

               $target=$target.basename($filename);
               move_uploaded_file($tmp,$target);
               $sql = "UPDATE `fleet` SET `image$i`='$target',`image_name$i`='$filename' WHERE id='$id' ";
               if (!mysqli_query($con,$sql))
               {
                   die('Error: ' . mysqli_error($con));
               }
           }
       }  

问题是图像没有存储在一个文件夹中,我已经创建了一个名为upload的文件夹,但没有任何东西可以解决我的问题

2 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

chmod

如果你有:

  

上传目录不可写或不存在。

您应该使用chown或/和upload_dir命令授予在.scss上写入的权限。

答案 1 :(得分:0)

而不是在数据库中存储名称我将其存储在txt文件中(根据要求)

<?php
 if (isset($_FILES["uploaded_file"]["name"])) {

$imagename=$_POST['imagename'];
$name = $_FILES["uploaded_file"]["name"];
$tmp_name = $_FILES['uploaded_file']['tmp_name'];
$error = $_FILES['uploaded_file']['error'];

if (!empty($name)) {
$location = './uploads/';

if ( ! is_dir($location)) {
    mkdir($location);
  }

if  (move_uploaded_file($tmp_name, $location.$name)){
    echo 'Uploaded';    

    $fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myText.txt","a+");
    fwrite($fp,$imagename);
    fclose($fp);    
}
} else {
echo 'please choose a file';
}
}
?>