我尝试将图片上传到我的服务器,如下所示:
HTML CODE
<html>
<body>
<form enctype="multipart/form-data" action="uploadimages.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
</body>
</html>
这是uploadimages.php代码: 我也尝试过:$ uploaddir =&#39; / var / www / html / images /&#39 ;;并有同样的问题。
<?php
$uploaddir = 'http://localhost/images/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
但是当我点击按钮发送文件时,我会看到以下屏幕:
感谢您的帮助
更新
所以我改变了:
<form enctype="multipart/form-data" action="uploadimages.php" method="POST">
到
<form enctype="multipart/form-data" action="http://localhost/uploadimages.php" method="POST">
现在我收到了这个错误:
答案 0 :(得分:4)
您正在使用服务器路径
$uploaddir = 'http://localhost/images/';
你应该使用相对/系统路径。
$uploaddir = 'images/';
根据脚本的执行位置进行相应调整。
可能是../images/
,只有你知道。
或
$uploaddir = '/var/rest_of_your_path/to/images/';
还要确保可以写入文件夹。
move_uploaded_file()
http://php.net/manual/en/function.move-uploaded-file.php
并检查错误
另外,看到value="30000"
似乎有点低。请确保您没有上传大于该文件的文件,并且它不会超过最大上传大小。
答案 1 :(得分:2)
说实话,看起来最大的问题是你的代码甚至不能在网络服务器上运行。您不能只在Web浏览器中打开PHP文件,并期望它被神奇地解释。您需要安装Apache或Nginx并通过它访问您的文件。