Php Can';不要打开此图片,因为您没有';我没有许可

Php Can';不要打开此图片,因为您没有';我没有许可,php,file,permissions,mkdir,Php,File,Permissions,Mkdir,我有文件上传脚本,我有一个if语句,检查文件是否不存在,它将创建一个并上传文件到它,如果存在,它将上传文件到它 <?php ini_set('post_max_size', '40M'); ini_set('upload_max_filesize', '40M'); if (isset($_POST['do']) and $_POST['do'] == 'upload') { $filename = $_FILES['file']['name']; $filesize =

我有文件上传脚本,我有一个if语句,检查文件是否不存在,它将创建一个并上传文件到它,如果存在,它将上传文件到它

<?php
ini_set('post_max_size', '40M');
ini_set('upload_max_filesize', '40M');

if (isset($_POST['do']) and $_POST['do'] == 'upload') {
    $filename = $_FILES['file']['name'];
    $filesize = $_FILES['file']['size'];
    $tmp_name = $_FILES['file']['tmp_name'];
    $file_type = $_FILES['file']['type'];
    $date = "[".date("d-m-Y_H-i")."]";
    $temp = explode(".", $filename);
    $new_filename = $temp[0] . ""/*you can put any thing that you want before the [] in the 2 singels*/ . $date .'.' . end($temp);
    $f_folder = "uploads" . DIRECTORY_SEPARATOR .$_POST['user'] . DIRECTORY_SEPARATOR . $new_filename;
    $username = $_POST['user'];

    //echo $username;
    if (!file_exists("uploads". DIRECTORY_SEPARATOR .$_POST['user'])){
    mkdir("uploads" . DIRECTORY_SEPARATOR . $_POST['user'],0777);
        if (empty($filename)) {
            echo "choose file please";
    }else {
           move_uploaded_file($tmp_name, $f_folder);
           echo "file is uploaded in " . $f_folder;
    }
    }else if (empty($filename)) {
            echo "choose file please";
        }else {
            move_uploaded_file($tmp_name, $f_folder);
            echo "file is uploaded in " . $f_folder;
    };


};

echo "<hr>";
 echo "
<form method='post' enctype='multipart/form-data' >
    File Path : <input type='file' name='file' />
    <br>
    Username : <input type='text' name='user' />
    <br>
    <input type='submit' name='do' value='upload' />
</form>";

?>
使用php的函数设置图像上传后的权限

<?php
if (!file_exists("uploads". DIRECTORY_SEPARATOR .$_POST['user'])){
$oldmask = umask(0);
mkdir("uploads" . DIRECTORY_SEPARATOR . $_POST['user'],777);
umask($oldmask);
    if (empty($filename)) {
        echo "choose file please";
}else {
       move_uploaded_file($tmp_name, $f_folder);
       echo "file is uploaded in " . $f_folder;
}
}else if (empty($filename)) {
        echo "choose file please";
    }else {
        move_uploaded_file($tmp_name, $f_folder);
        echo "file is uploaded in " . $f_folder;
}
chmod($f_folder, 777); // add this line after image upload

你的意思是这样的吗?代码:移动上传的文件($tmp\U名称,$f\U文件夹);chmod($f_文件夹,777);echo“文件已上载”$f_文件夹;(这不起作用)No
chmod($f_folder,777);
在上传图像后编写此代码。或者您可以使用我的代码,因为我很抱歉,我听不懂。您可以给我最后的代码吗?只需在您的代码后粘贴这一行
chmod($f_folder,777);
。正如我在我的代码中使用的一样,您检查了权限吗?