0

这是我在我的服务器上测试的脚本,它说文件上传失败。但是当我在不同的服务器上尝试时它可以工作。有谁知道这与我的 php.ini 设置有关还是...

<form enctype="multipart/form-data" action="fupload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

<?php

$uploaddir = '/var/www/vhosts/costsave.net.au/httpdocs/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo "<p>";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Upload failed";
}

echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";

?>

错误

在此处输入图像描述

4

2 回答 2

2

与文件上传相关的设置:

  • 文件上传
  • 上传最大文件大小
  • upload_tmp_dir
  • post_max_size
  • 最大输入时间

参考:http ://www.php.net/manual/en/features.file-upload.post-method.php

file_uploads布尔值或整数

是否允许 HTTP 文件上传。

临时上传目录的权限是否也正确?

upload_tmp_dir字符串

文件上传时用来存放文件的临时目录。必须可由任何运行 PHP 的用户写入。如果没有指定 PHP 将使用系统的默认值。如果此处指定的目录不可写,PHP 将回退到系统默认的临时目录。如果 open_basedir 已打开,则必须允许系统默认目录才能成功上传

于 2013-03-08T10:52:33.560 回答
1

请检查是否设置了 CHMOD/var/www/vhosts/costsave.net.au/httpdocs/uploads/并具有写入权限。

作为另一种选择,您可以输出$_FILES['userfile']['error']以查看会发生什么。

于 2013-03-08T10:52:47.847 回答