这是我在服务器上测试的脚本,表示文件上传失败。 但是,当我尝试不同的服务器时,它的工作原有没有人知道这与我的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>";
?>
错误
答案 0 :(得分:2)
与文件上传相关的设置:
参考:http://www.php.net/manual/en/features.file-upload.post-method.php
file_uploads 布尔值或整数
是否允许上传HTTP文件。
临时上传目录的权限是否也正确?
upload_tmp_dir 字符串
用于的临时目录 在进行文件上传时存储文件。必须是可写的 用户PHP正在运行。如果没有指定PHP将使用系统 默认。如果此处指定的目录不可写,则PHP将失效 回到系统默认的临时目录。如果打开open_basedir, 然后必须允许系统默认目录上传到 成功
答案 1 :(得分:1)
请检查CHMOD是否设置为/var/www/vhosts/costsave.net.au/httpdocs/uploads/
并具有写入权限。
作为另一种选择,您可以输出$_FILES['userfile']['error']
以查看会发生什么。