Php 文件上载不工作
我在media temple服务器上安装了wordpress,发现它无法上传文件。尝试之后,几个解决方案决定用一个简单的脚本()复制这个问题Php 文件上载不工作,php,file-upload,Php,File Upload,我在media temple服务器上安装了wordpress,发现它无法上传文件。尝试之后,几个解决方案决定用一个简单的脚本()复制这个问题 文件名: 看起来move_upload_file()返回false时没有警告或错误,在php文档中查找并发现此错误 如果文件名不是有效的上载文件,则不会执行任何操作,并且 move\u上传的\u file()将返回FALSE 我已经检查过了,文件上传没有报告任何错误,并且在尝试移动之前临时文件已经存在。已经在文件夹中设置了777权限,但仍然没有任何运
文件名:
看起来move_upload_file()返回false时没有警告或错误,在php文档中查找并发现此错误
如果文件名不是有效的上载文件,则不会执行任何操作,并且
move\u上传的\u file()将返回FALSE
我已经检查过了,文件上传没有报告任何错误,并且在尝试移动之前临时文件已经存在。已经在文件夹中设置了777权限,但仍然没有任何运气,是否知道是什么导致了此行为以及如何修复它
谢谢。尝试使用绝对路径作为
移动上传文件()的目标。
这会给您带来什么:
$_FILES[...]['error']
如果它没有给你零,你可以在这里检查哪里出了问题:
如果是,请确保您的文件夹所在的文件夹可以被PHP访问。您可以尝试运行以下命令:
sudo -s -u [php_user]
cd [destination_directory]
检查您是否可以访问目录=)
如果目标不可写,则移动上传的文件也将失败。根文件夹是否可写(我这样问是因为移动它时没有将uploads文件夹固定到文件名中)。我知道您提到您将权限设置为777
,但这是针对上载目录或应用程序所在的整个文件夹的权限。您正在检查目标是否存在于某个目录中,然后将源复制到另一个目录:
if (file_exists("uploads/" . $_FILES["file"]["name"]))
...
$uploaded=move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]);
事实证明,我禁用了fastCGI,我刚刚启用了,一切正常。谢谢您的帮助。检查您是否可以访问d目录,无需在临时文件夹中删除它,因为它将自动移动,目标目标仍在d文件中。因此,为什么不尝试将其移动到另一个目标我不知道这是否有帮助,但我在几个小时前发现了这个问题,问题是我的文件夹的写入权限(我不拥有我正在使用的服务器)以及与我一起工作的人的响应是
“您的”文件夹必须由用户apache作为(www数据)运行时可写。这可以通过使文件夹世界可写或将“您要将文件放在哪里”文件夹设置为组www数据所有并使其组可写来实现
设置错误报告(E\u ALL)代码>在您的代码和查看错误/警告之前,我的所有上载测试中给定的$_文件[…]['error']均为0。我与apache用户一起登录,能够将文件复制到该文件夹中。
if (file_exists("uploads/" . $_FILES["file"]["name"]))
...
$uploaded=move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]);