我一直在嘗試將多個文件上傳到一個文件夾並將名稱保存在數據庫表中。代碼如下:我需要獲取這些上傳文件的名稱。我知道我的代碼是胡扯:(獲取多個文件上傳文件的名稱
是否有通過上傳這些文件,仍然返回該文件名? 我需要這些名字能夠將它們插入到mysql表的方式來循環。
感謝。您的援助
而且PHP腳本如下:
<?php
$target = "uploads/";
$target = $target . basename($_FILES['pic1']['name']);
$target = $target . basename($_FILES['pic2']['name']);
$target = $target . basename($_FILES['pic3']['name']);
$target = $target . basename($_FILES['pic4']['name']);
$pic1 =($_FILES['pic1']['name']);
$pic2 =($_FILES['pic2']['name']);
$pic3 =($_FILES['pic3']['name']);
$pic4 =($_FILES['pic4']['name']);
$con = mysql_connect("localhost", "root", "");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("people", $con);
$sql="INSERT INTO mtpupload (name, age, pic1, pic2, pic3, pic4)
VALUES('$_POST[name]','$_POST[age]','$pic1', '$pic2', '$pic3', '$pic4')";
//---------Here, I want to insert all the pictures----------//
if(move_uploaded_file($_FILES['pic1']['tmp_name'], $target)) {
//do nothing
}
if(move_uploaded_file($_FILES['pic2']['tmp_name'], $target)) {
//do nothingelse{
}if(move_uploaded_file($_FILES['pic3']['tmp_name'], $target)) {
//do nothing echo "Sorry, the image was not moved from temp folder.";
}if(move_uploaded_file($_FILES['pic4']['tmp_name'], $target)) {
//do nothing
echo "The was a problem uploading one of your images.";
}
//--------------Ends here---------------------//
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
UPDATE:事實證明,此代碼正在工作,但只保存文件夾中的一個圖像。我認爲我的move_uploaded_file是錯誤的。任何指針?
再次感謝您的幫助。
http://nl3.php.net/manual/en/control-structures.foreach.php –
循環怎麼樣? –
順便說一句,你的代碼沒有考慮到上傳兩個具有相同文件名的文件的情況。後者將簡單地覆蓋前者。 –