PDA

View Full Version : مشکل آپلود چند فایل بصورت همزمان و Update



piremard
چهارشنبه 24 فروردین 1390, 11:54 صبح
من multi upload با php نوشتم که تو فایل addnews » طرف هرچندتا فایل خواست فیلد اضافه میکنه ارسال میکنه و به دیتابیس هم میره مشکلی هم نداره خوب اینجا هیچ مشکلی نداشتم ولی تو ویرایشش به مشکل خوردم اونم اینکه. یه حلقه نوشتم گفتم فایل هایی که اضافه شده به دیتابیس رو بخون بیار به ترتیب . میره می خونه میاره داخل input گذاشتم به این شکل:





################################
define("FOLDER", "imgfilesha/");
$ximgf = '';
$img_query = $db->query("select * from `".PREFIX."_imgfilesha` where `news_id`=".$row['id']);
while($img_data = $db->get_row()):
$ximgf .= "".$img_data['img_file']."";
$ximgf .= '
<input name="imgfiles_title[]" value="'.$img_data['file_title'].'" size="30" type="text" /> &raquo;
<input name="imgfiles_file[]" value="'.$img_data['file_name'].'" size="30" type="file" />
<div id="another_files_box"></div>
';

endwhile;
##############################


بعد اومدم توی فرم اینو گزاشتم:



<input name="counter" value="0" type="hidden" />



<input name="counter" value="0" type="hidden" />
<input value="عناوين" class="textbox fifty_scale" type="text" style="background: none; border: 0;" disabled="disabled" /> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input value="انتخاب تصویر" class="textbox" type="text" style="background: none; border: 0;" disabled="disabled" /><br />

{$ximgf}


بعد اومدم گفتم اضافه کن به دیتابیس و آپلود کن.



define("FOLDER", "imgfilesha/");
$imgfiles_title = $_POST["imgfiles_title"];
$imgfiles_file = $_FILES["imgfiles_file"];

for($i=0; $i<=count($imgfiles_title); $i++):
$allowed_mime_types = array("image/gif", "image/jpeg", "image/pjpeg", "image/png", "image/x-png");
if(is_uploaded_file($imgfiles_file["tmp_name"][$i])):

$db->query( "UPDATE " . PREFIX . "_imgfilesha set file_title='".$imgfiles_title[$i]."', file_name='".$imgfiles_file["name"][$i]."' WHERE news_id = '$item_db[0]'" );

move_uploaded_file($imgfiles_file["tmp_name"][$i], FOLDER.$row.",".$db->insert_id().".png");
endif;
endfor;
حالا می دونی مشکل چیه مشکل اینه که الان چندتا فیلد آپلود دارم وقتی انتخاب فایل میکنم تو دیتابیس بجای همشون نام فیلد آخری که وارد کردم رو میزاره
مثلا اگه من قبلا 5 تا فایل تو ارسال مطلب اضافه کرده بودم
تو ویرایش مطلب 5 تا فایل رو میاره میسازه ولی بجای نام فایل همشون تو دیتابیس نام فیلد آخری که انتخاب کردم رو میزاره همین چند روزه الاف این شدم

امیـرحسین
چهارشنبه 24 فروردین 1390, 19:59 عصر
شما trace بفرمایید مشکل حل میشه

define("FOLDER", "imgfilesha/");
$imgfiles_title = $_POST["imgfiles_title"];
$imgfiles_file = $_FILES["imgfiles_file"];

echo '<pre>' . print_r($imgfiles_title,true) . print_r($imgfiles_files,true);

for($i=0; $i<=count($imgfiles_title); $i++):
$allowed_mime_types = array("image/gif", "image/jpeg", "image/pjpeg", "image/png", "image/x-png");
if(is_uploaded_file($imgfiles_file["tmp_name"][$i])):

$sql = "UPDATE " . PREFIX . "_imgfilesha set file_title='".$imgfiles_title[$i]."', file_name='".$imgfiles_file["name"][$i]."' WHERE news_id = '$item_db[0]'";
echo $sql . '<'.'br'.' />';
$db->query($sql);

move_uploaded_file($imgfiles_file["tmp_name"][$i], FOLDER.$row.",".$db->insert_id().".png");
endif;
endfor;

sobhangh
پنج شنبه 25 فروردین 1390, 17:49 عصر
چطور یه فایلو به کامپیوتر خودمون بفرستیم نه تو دیتا بیس؟