2014-03-06 34 views
0

嗨,我目前正在努力創建自己的網站上傳部分404文件目錄,我已經看過多個網站和舉例說明如:瀏覽按鈕,上傳文件未找到

W3Schools

我有發現有多種方法可能會出錯,例如mysql注入是由於他們使用的是$_FILES["file"]["type"]。所以我已經開始遵循這個鏈接,而不是由於它們來自於他們自己,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

你應該檢查你的php.ini文件。不確定您是否在WAMP/MAMP/XAMPP或任何服務器上運行代碼? – Bananam00n

+0

問題是,您的php.ini文件可能會設置比您要上傳的文件更小的文件大小。 – Bananam00n

+0

@ Bananam00n我目前在Windows Server 2008 R2上運行這個,php.ini文件在哪裏? – user3387522

回答

0

的最大文件大小的upload_max_filesize - 2M可以在PHP的限制。在php.ini,檢查以下屬性:

upload_max_filesize = 10M 
post_max_size = 10M 

如果它沒有什麼變化,你也可以嘗試檢查內存限制或最大處理時間。

+0

這不起作用你通過檢查內存限制和最大處理時間來表示什麼意思? – user3387522

+0

首先,您是否在更改'php.ini'後重新啓動了PHP服務器?你必須。 – iCore

+0

我已重新啓動服務器,它仍然給我同樣的錯誤,我也改變了php.ini內memory_limit – user3387522

0

檢查你的php.ini文件

+0

我已經改變了upload_max_filesize,仍然沒有運氣有任何其他想法? – user3387522

0

我不是很熟悉的Windows Server,但我用Google搜索了一下,發現這個文件:

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 

希望這有助於! :-)

+0

有沒有文件夾在SYSTEM32文件夾中稱爲PHP,所以我有點卡住=/ – user3387522

+0

和您的Windows文件夾下,有沒有一個php.ini文件? – Bananam00n

+0

或C:/php/php.ini – Bananam00n

相關問題