PHP上传和覆盖照片文件
Posted
技术标签:
【中文标题】PHP上传和覆盖照片文件【英文标题】:PHP Upload and overwrite photo file 【发布时间】:2012-12-06 14:44:28 【问题描述】:我正在使用一些非常简单的 php。
用户上传具有某些目的地和相同名称的照片文件,以便最新上传的文件会覆盖旧版本。
现在我的代码似乎可以工作。我得到了我应该的上传评论,但目标文件夹中没有文件。 我一直在搜索***,但我似乎无法弄清楚。
HTML:
<form enctype="multipart/form-data" action="upload_file.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:
<?php
$uploaddir = 'profilepicture/';
$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>";
?>
【问题讨论】:
print_r($_FILES) 的输出是什么? 您看到任何错误吗? (你可能想打开ERROR_REPORTING(E_ALL)
。你能发布print_r($_FILES)
的结果吗?
您确定要检查与您的 PHP 文件相关的 profilepicture
文件夹吗?请记住,任何用户都可以上传“另一个”用户的文件名,从而替换他们的图片。可能会附加用户 ID(如果他们已登录)。
感谢您的意见。 Darhazer 和 Edga,我从错误报告中得到:文件有效,并且已成功上传。 “这里还有一些调试信息:Array ( [userfile] => Array ( [name] => navigation.jpg [type] => image/jpeg [tmp_name] => /var/tmp/phpbfXB6s [error] => 0 [size] => 10787)) Array ([userfile] => Array ([name] => navigation.jpg [type] => image/jpeg [tmp_name] => /var/tmp/phpbfXB6s [error] => 0 [大小] => 10787 ) )"
【参考方案1】:
确保您的MAX_FILE_UPLOAD_SIZE
已设置为大于 2BM(php.ini 中的默认设置)。根据我的经验,我将其设置为 20MB,因此对于大于 2BM 的图像也会上传
【讨论】:
【参考方案2】:您使用的平台是什么?如果是unix,请检查“头像”权限和正确的相对路径。
【讨论】:
感谢 redwind 的回答 - 我如何检查权限?以上是关于PHP上传和覆盖照片文件的主要内容,如果未能解决你的问题,请参考以下文章
php 事件日历:覆盖默认的iCal导出为超过30个即将发生的事件(仅影响列表,地图和照片视图)。
php 事件日历:覆盖默认的iCal导出为超过30个即将发生的事件(仅影响列表,地图和照片视图)。