繁体   English   中英

PHP Move_uploaded_file 没有将我的文件移动到目录

[英]PHP Move_uploaded_file not moving my file to directory

我正在为我正在开发的程序制作图像上传功能,但是我似乎无法让 move_uploaded_file 实际移动我的文件,我不知道为什么。

我正在接收表单数据,因为我在使用 print_r 函数时可以看到数据print_r($_FILES)

我的目录结构如下root->app->lib->uploadCode.phproot->app->images

我没有收到任何错误。 我在安装了 php7 的 ubuntu 16.04 上运行它

这是我的代码。

<?php
error_reporting(E_ALL);
if(!empty($_FILES['newImage']['name']))
{
    $fname = $_FILES['newImage']['name'];
    $fext = explode(".",$fname);
    $sex = array("jpg", "jpeg", "JPG", "JPEG", "png", "PNG");//Supported extensions
    //Check if file extension supported
    $extRes = array_intersect($fext, $sex);//Checks to see if file uploaded extension exists in the supported extension array
    if(count($extRes) == 1)
    {
        print_r($_FILES);
        $name = $_FILES['newImage']['name'];
        $ext = end($fext);
        $tmp = $_FILES['newImage']['tmp_name'];
        $path = '/../images/';
        $newName = uniqid().".".$ext;
        /*if(move_uploaded_file($tmp,$path.$newName))
        {
            echo "uploaded";
        }
        else
            {
                echo "not uploaded";
                echo $path.$newName;
            }*/

        move_uploaded_file($tmp,$path.$newName);
    }
    elseif(count($extRes) > 1)
        {//More than just one file extension was found possibly something like image.png.jpg
            echo 02;
        }
        else
            {// Nothing was found so wrong file type was used
                echo 01;
            }
}else
    {//Do if no image was uploaded
        echo 00;
    }

`

$path = '/../images/';删除开始斜杠$path = '/../images/'; 或设置完整路径,例如/home/username/images/

这是一个许可问题。

我必须对我的 www/html 目录执行以下操作。

sudo chown -R username:www-data /var/www/html/ sudo chmod 775 /var/www/html/ sudo chmod g+s /var/www/html一旦我运行了这些命令,我​​就可以上传

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM