繁体   English   中英

move_uploaded_file 在 ubuntu 10.04 中不起作用

[英]move_uploaded_file not working in ubuntu 10.04

嘿,伙计们,这里有点问题,move_uploaded_file 实际上根本没有工作,它在我的终端中显示了一些警告。

我的代码:


$name =  $_FILES['file']['name'];
$size =  $_FILES['file']['size'];
$type =  $_FILES['file']['type'];
$error =  $_FILES['file']['error'];
$temp =  $_FILES['file']['tmp_name'];
$destination = "uploads/";

if($size > 10000000) {
    exit("file size is too big, Max allowed size is 10Mbs");
}

if($type == "application/x-ms-dos-executable") {
    exit("not allowed file formatt.");
}

move_uploaded_file($temp, $destination.$name);

终端:

[Sat May 14 15:14:01 2011] [error] [client ::1] PHP Warning:  move_uploaded_file(uploads/gears_16.png): failed to open stream: Permission denied in /var/www/alex/fileupload/upload.php on line 18, referer: http://localhost/alex/fileupload/
[Sat May 14 15:14:01 2011] [error] [client ::1] PHP Warning:  move_uploaded_file(): Unable to move '/tmp/phpMxKzds' to 'uploads/gears_16.png' in /var/www/alex/fileupload/upload.php on line 18, referer: http://localhost/alex/fileupload/


并且文件不会移动,源,目标和文件权限是777。这令人沮丧:(

sudo chown alex -R /var/www

sudo chgrp www-data -R /var/www

sudo chmod 0751 -R /var/www

//这里提到http://ubuntuforums.org/showthread.php?t=560592

  • Ubuntu中,您必须将目标目录权限授予守护程序用户。
  • 就我而言,我的工作区位于/opt/lampp/htdocs/students/中,并且有一个类似/opt/lampp/htdocs/students/uploadedFilesDestination的文件夹。
  • 我想把我上传的文件放到uploadedFilesDestination文件夹中。 这里的事情是ubuntu的内核/线程必须具有目标目录的权限。
  • 您可能必须使用以下命令来执行此操作。
    打开终端并按照命令

sudo chown 守护进程 /opt/lampp/htdocs/student/uploadedFilesDestination

守护进程很重要。 daemon 是 kernel 权限的 *用户。

暂无
暂无

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

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