我想寫一個PHP腳本,可以上傳多個文件。上傳圖片不工作
for($i=0;$i<count($_FILES['uploadimg']['name']);$i++){
$name = $_FILES['uploadimg']['name'][$i];
$type = $_FILES['uploadimg']['type'][$i];
$filepath = $_FILES['uploadimg']['tmp_name'][$i];
$size = getimagesize($filepath);
$img = file_get_contents($filepath);
//insert into database
}
問題是變量沒有以他們應該的方式填充。
當我上傳JPEG「image.jpg的」,我發現這兩個變量具有以下值:(用echo
S和var_export
小號更換數據庫的代碼)
$name = 'image.jpg'; // good
$type = ''; // not good
$filepath = ''; // not good
$size = false; // not good
$img = false; // not good
我要指出,我實現$size
和$img
依賴於$filepath
是一個有效的文件路徑。
任何人都可以提供一些洞察什麼是錯的或我失蹤?我現在一直在玩代碼,並且無法提供解決方案。
更新:
Array (
[uploadimg] => Array (
[name] => Array (
[0] => test1.jpg
[1] => test2.jpg
[2] => test3.jpg
)
[type] => Array (
[0] => image/jpeg
[1] =>
[2] => image/jpeg
)
[tmp_name] => Array (
[0] => /tmp/phpkC6f2F
[1] =>
[2] => /tmp/phpgFrPl8
)
[error] => Array (
[0] => 0
[1] => 1
[2] => 0
)
[size] => Array (
[0] => 238906
[1] => 0
[2] => 237308
)
)
)
我可以再假設這意味着圖像太大:3倍圖像的回報
print_r($_FILES)
?
謝謝,這解釋了很多,特別是與Ross提出的轉儲建議結合在一起,這是我現在發佈的結果。 – 2009-07-13 19:14:29