看板 PHP 關於我們 聯絡資訊
我寫了一個 for 迴圈,要跑出數個上傳檔案的欄位, <input type=file name=logo_upload[] /> 然後有個發送的按鈕, <input name=change_ok type=submit value=確定修改 /> 如果按下按鈕,就會把上傳的檔名寫進資料庫, if($change_ok) { $total = count($number); for($i=0; $i<$total; $i++) { $tmp_name = $_FILES['$logo_upload[]']['name'][$i]; $sql = "UPDATE link SET logo_name='$tmp_name' WHERE number='$number[$i]'"; mysql_query ($sql,$db); } } 這個程式有經過簡化,我只是有問題的部份 post 出來, 我遇到的問題是,不知道為什麼 $tmp_name 這個變數一直接不到東西, 所以根本沒有東西寫進資料庫, 不是資料庫連線上的問題,那會是什麼問題呢? 請大大幫我解答一下,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.172.64.200
KennyL:${tmp_name} 試試看 07/15 22:47
LPH66:應該不是樓上的問題... 07/15 22:54
LPH66:照php說明檔的寫法是$_FILES['logo_upload']['name'][$i] 07/15 22:55
towalking:照改了還是不行... 07/16 10:36
knockout:你FORM的ENCTYPE是? 07/16 11:10
towalking:mutiple/data 07/16 11:41
towalking:問題算解決了 我把寫法改成像 LPH 說的那樣 07/16 11:41
towalking:$_FILES['$logo_upload']['name'] 多一個$也不行耶... 07/16 11:42
knockout:嗯? 不是$_FILES['logo_upload'.$i]['name'] 嗎? 07/16 14:40
LPH66:基本上這一串file欄位是一個變數叫logo_upload 07/17 14:27
LPH66:所以不是.$i 應該是用陣列的方式去存取 07/17 14:29
LPH66:ENCTYPE似乎應該是要multipart/form-data才對... 07/17 14:30
knockout:嗯 不過我習慣在FORM裡的INPUT再塞的時候 ID跟NAME就先給 07/17 18:47
knockout:PHP的部份再用FOR去接 ~~ :P 07/17 18:48