0

我正在尝试创建图像上传器,但无法将图像保存在文件夹中。该文件夹是否应该位于名为 images 的目录的根目录中?如果是这样,当我使用 move_uploaded_file 代码时,为什么不将图像保存到该文件夹​​?

谢谢你。

//connect to db include('includes/connection.php');

if(isset($_FILES['files'])){

$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
    $file_name = $key.$_FILES['files']['name'][$key];
    $file_size =$_FILES['files']['size'][$key];
    $file_tmp =$_FILES['files']['tmp_name'][$key];
    $file_type=$_FILES['files']['type'][$key];  
    if($file_size > 2097152){
        $errors[]='File size must be less than 2 MB';
    }       
    $query="INSERT into store (`id`,`name`,`size`,`type`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
    $desired_dir="images/";
    if(empty($errors)==true){
        if(is_dir($desired_dir)==false){
            mkdir($desired_dir, 0700);      // Create directory if it does not exist
        }
        if(is_dir($desired_dir.$file_name)==false){
            move_uploaded_file($file_tmp, "$desired_dir/$file_name");
        }else{                                  // rename the file if another one exist
            $new_dir=$desired_dir.$file_name.time();
             rename($file_tmp,$new_dir) ;               
        }
     mysql_query($query);           
    }else{
            print_r($errors);
    }
}
if(empty($error)){
    echo "Success";
}
}

echo '<img src="images/' . $row['id'] . '</img>';
4

3 回答 3

1

把文件夹的chmod放在775上

解释 chmod

Chmod 授予对您的文件夹或文件的访问权限。

字符在哪里?

The first charater stands for user
The second character stands for group
The thirth character stands for world

权利

0 No Permissions 
1 Execute Only 
2 Write Only 
3 Write & Execute Permissions
4 Read Only
5 Read & Execute Permissions
6 Read & Write Permissions
7 Read, Write & Execute Permissions

如何更改chmod

通过filezilla

  1. 连接到您的 ftp
  2. 搜索您的文件夹
  3. 右键单击并选择文件权限
  4. 在 775 上设置数值

通过直接管理员

  1. 转到文件管理器
  2. 搜索您的文件夹
  3. 填写“设置权限”值为775
  4. 按下按钮。

通过linux内核

  1. 启动内核
  2. 运行 chmod 7 7 5 myfolder/
于 2013-04-17T14:47:55.013 回答
0

右键单击文件夹和属性并确保权限设置为读写

于 2013-04-17T14:52:12.680 回答
0

也许你可以像这样纠正它:

    $desired_dir="images";
    if(empty($errors)==true){
        if(is_dir($desired_dir)==false){
            mkdir("$desired_dir", 0700);        // Create directory if it does not exist
        }
        if(is_dir("$desired_dir/".$file_name)==false){
            move_uploaded_file($file_tmp,"images/".$file_name);
        }else{                                  //rename the file if another one exist
            $new_dir="images/".$file_name.time();
             rename($file_tmp,$new_dir) ;               
        }
    mysqli_query($conny, $sql);         
    }else{
            print_r($errors);
    }
}
于 2018-04-10T17:23:53.773 回答