首页  >  问答  >  正文

PHP move_uploaded_file() 失败,我不知道为什么

这是我的代码:

$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粉111927962P粉111927962287 天前404

全部回复(2)我来回复

  • P粉610028841

    P粉6100288412024-01-30 00:59:13

    但你必须这么做。

    这就是错误消息的用途。
    出现问题时您是否看到任何错误消息?如果没有,那么您必须检查错误日志。

    将此行添加到代码顶部

    error_reporting(E_ALL);

    还有这个,如果它是您的本地(非实时)服务器

    ini_set('display_errors',1);

    这样您就可以在屏幕上看到错误

    对于文件上传,您必须首先检查$_FILES['file']['error'])。如果它不是 0,请参阅手册页了解实际消息。

    回复
    0
  • P粉211600174

    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

    回复
    0
  • 取消回复