这是我的代码:
$uploaddir = '/temp/'; $uploadfile = $uploaddir.basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) send_OK(); else send_error("ERROR - uploading file");
我尝试使用 ftp_fput、ftp_put、move_uploaded_file 进行上传、重命名、复制以及任何我可以使用的操作。似乎没有任何作用。
我无法理解问题是什么,因为 move_uploaded_file 仅返回 true 或 false,并且没有错误代码。
帮忙??
P粉6100288412024-01-30 00:59:13
但你必须这么做。
这就是错误消息的用途。
出现问题时您是否看到任何错误消息?如果没有,那么您必须检查错误日志。
将此行添加到代码顶部
error_reporting(E_ALL);
还有这个,如果它是您的本地(非实时)服务器
ini_set('display_errors',1);
这样您就可以在屏幕上看到错误
对于文件上传,您必须首先检查$_FILES['file']['error'])
。如果它不是 0
,请参阅手册页了解实际消息。
P粉2116001742024-01-30 00:17:11
您确定目标目录具有world
的写入权限吗?即权限表示中的第三个数字?
php 上传的文件归 www-data
您可以通过以下方式更改所有权
[sudo] chown -R www-data folder // change owner [sudo] chown -R www-data:www-data folder // change group and owner