我想弄清楚如何將圖像上傳到文件夾。我不想通過列出目錄中的所有文件來列出它。在PHP/MySQL中上傳大小限制的圖像
我想要做的是讓用戶插入某些值放入MySQL中,然後在文件完成上傳並將其插入MySQL字段「filename」時取出文件名。
事情是,我真的不知道如何在PHP中進行文件上傳,更不用說如何在文件完全上傳之前不將信息添加到數據庫。有人可以幫我嗎?
我也想知道如何將最大文件大小限制到一定大小。我有一段時間沒有關注技術,所以我想知道現在的平均數碼相機現在的平均照片尺寸是多少?
我想弄清楚如何將圖像上傳到文件夾。我不想通過列出目錄中的所有文件來列出它。在PHP/MySQL中上傳大小限制的圖像
我想要做的是讓用戶插入某些值放入MySQL中,然後在文件完成上傳並將其插入MySQL字段「filename」時取出文件名。
事情是,我真的不知道如何在PHP中進行文件上傳,更不用說如何在文件完全上傳之前不將信息添加到數據庫。有人可以幫我嗎?
我也想知道如何將最大文件大小限制到一定大小。我有一段時間沒有關注技術,所以我想知道現在的平均數碼相機現在的平均照片尺寸是多少?
那麼你似乎已經把它分解成步驟自己,所以你似乎明白該怎麼做。
你需要的第一件事就是用PHP上傳文件。你可以找到一個教程here。您需要一個HTML格式的表單和一個PHP文件來處理它。這也是您指定文件大小的地方。
樣本HTML
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
示例PHP
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
然後,一旦你上傳你需要將其存儲在數據庫中的文件。您需要連接到數據庫(tutorial here)
然後,你需要將信息添加到表,文件名是在var $_FILES['uploadedfile']['name']
所以你需要沿着
mysql_query("INSERT INTO files (Date, Filename)
VALUES ('$date', '$_FILES['uploadedfile']['name']')");
行一些代碼有關插入數據庫的更多信息,請參閱here
你可以通過這個url http://php.net/manual/en/function.move-uploaded-file.php 很容易地找到PHP文件上傳的詳細信息並且爲了驗證大小,你應該在php中使用getimagesize()函數。檢查這裏的示例代碼http://php.net/manual/en/function.getimagesize.php
讓我們確保在頁面中有一個表單。讓我們把它稱爲form.php的:
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
然後我們創建一個在同一個文件夾中form.php的所謂uploader.php文件。
// change the username and password to your database information
mysql_connect("localhost", "username", "password");
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
// Here we will insert into the database
mysql_query("INSERT INTO fileuploads (filename) VALUES ('".$target_path."')");
現在確保您有一個名爲fileuploads的表,其中包含字段「filename」。
不要忘記創建在同一文件夾作爲form.php的目錄和uploader.php所謂的「上傳」
我希望這會爲你工作。
照片的平均大小,這是非常可變的。假設你只接受JPEG圖像而不是RAW,我會說手機是2M,數碼相機是4M。如果說6M,你可以合理地有一個限制,並且要求用戶縮小圖像,如果它大於那個。默認情況下,PHP中的最大上傳大小爲8M。 – halfer