这几天用PHP做一个程序,用到了大文件的上传,因为仅在局域网中使用,所以速度不是问题。我想测试一下PHP到底能传多大的文件,我修改了php.ini的几个配置,用一下程序传文件,果然可以上传几十兆甚至上百兆的文件了。

php.ini需要修改的量,这里仅列出原始配置,可以修改成你希望的大小
upload_max_filesize = 2m 
post_max_size 
= 2m 
max_execution_time 
= 30 
max_input_time 
= 600
memory_limit 
= 8m 

我上传文件的代码如下:
------------upload.html---------------
<html>
<head>
<title>Upload new news file</title>
</head>
<h1>Upload new news file</h1>
<form enctype="multipart/form-data" method="post" action="./upload.php">
<label>upload this file:
<input name="userfile" type="file" id="userfile" />
</label>
<label>
<input type="submit" name="Submit" value="Send File" />
</label>
</form>

<body>
</body>
</html>
------------upload.php------------
<html>
<head>
<title>Uploading File</title>
</head>
<body>
<h1>Uploading File</h1>
<?php
//put the file where we'd like it
$upfile = './upload/'.$_FILES['userfile']['name'];
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo 'Problem: Could not move file to destination directory';
exit
}
}
else
{
echo 'Problem: Possible file upload attack. Filename: ';
echo $_FILES['userfile']['name'];
exit;
}
echo 'File upload successfully<br><br>';
?>
</body>
</html>