将图像上传到我的服务器时出错

时间:2016-04-04 21:13:13

标签: php html image-uploading

我尝试将图片上传到我的服务器,如下所示:

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>";

?>

但是当我点击按钮发送文件时,我会看到以下屏幕:

enter image description here

感谢您的帮助

更新

所以我改变了:

<form enctype="multipart/form-data" action="uploadimages.php" method="POST">

   <form enctype="multipart/form-data" action="http://localhost/uploadimages.php" method="POST">

现在我收到了这个错误:

enter image description here

2 个答案:

答案 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

上的RTM

并检查错误

另外,看到value="30000"似乎有点低。请确保您没有上传大于该文件的文件,并且它不会超过最大上传大小。

答案 1 :(得分:2)

说实话,看起来最大的问题是你的代码甚至不能在网络服务器上运行。您不能只在Web浏览器中打开PHP文件,并期望它被神奇地解释。您需要安装Apache或Nginx并通过它访问您的文件。