您好我正在尝试为我的网站创建一个上传部分,我查看了多个网站和示例,例如:
我发现有多种方法可能会出错,例如mysql注入是由于他们使用$_FILES["file"]["type"]
。所以我开始关注这个链接,因为它来自php自己,PHP Documentation
好的到达我的问题我现在有一个问题,我有一个简单的表单,运行PHP脚本检查文件上传,然后上传,如果它是正确的,如果它是无效的这不是部分工作,文件上传,但如果它是一个大文件我得到404文件或目录未找到错误,但如果它是一个较小的文件大小,它适用任何想法。
HTML表单是
<form enctype="multipart/form-data" action="upload_file.php" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="300000000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
,PHP文件代码是
<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.
$uploaddir = './';//
$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>";
?>
任何想法都会受到高度赞赏,或者如果有人知道更好的例子可供使用。
答案 0 :(得分:0)
检查php.ini文件中的upload_max_filesize - 2M
答案 1 :(得分:0)
PHP中的最大文件大小可能会受到限制。在php.ini
中,检查以下属性:
upload_max_filesize = 10M
post_max_size = 10M
如果不做任何更改,您还可以尝试检查内存限制或最长处理时间。
答案 2 :(得分:0)
我对Windows Server不太熟悉,但我搜索了一下并找到了这个文档:
http://www.webmasterworld.com/microsoft_asp_net/3986574.htm
这表示你的php.ini文件应位于:
C:\Windows\System32\PHP\php.ini
如果找到此文件,请查找并编辑以下行:
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
希望这有帮助! : - )