正在做一個文件上傳共享網站,想通過以下代碼實現文件上傳功能:
<form enctype="multipart/form-data" action="add_file.php" method="post">
<fieldset><legend>Fill out the form to upload a file:</legend>
<?php // Create the inputs.
for ($i = 0; $i < $counter; $i++) {
echo '<p><b>File:</b> <input type="file" name="upload' . $i . '" /></p>
<p><b>Description:</b> <textarea name="description' . $i . '" cols="40" rows="5"></textarea></p><br />
';
}
?>
</fieldset>
<input type="hidden" name="submitted" value="TRUE" />
<div align="center"><input type="submit" name="submit" value="Submit" /></div>
</form>
卻發現上傳稍微大一些的文件時,顯示File couldn't be moved.但是數據庫裡顯示文件名稱,不顯示大小。而上傳大於8M的文件時,頁面根本沒有反應。上網搜了一下,在飛諾網找到一篇關於“PHP上傳問題總結“的文章。文章指出了php的文件上傳受到了php.ini以下設置的影響:
post_max_size
upload_max_filesize
max_execution_time
memory_limit
於是到 /etc/php5/apache2/ 下找到了php.ini,搜索post_max_size 將其默認值改為了125M,搜索upload_max_filesize將其默認值改為了125M,保存後。在終端輸入:apache2ctl -k restart 重新啟動apache,問題解決!可以在頁面中隨便上傳大文件了~