PDA

View Full Version : سوال: آپلود و ذخیره در دیتابیس



ehsan_savadkohi
شنبه 26 مرداد 1392, 12:28 عصر
سلام. ایناسکریپت آپلود را انجام میده. حالا میخوام آدرس هریک از input ها را بدست آورد و هر یک را در فیلدی و در همان رکورد کالا ذخیره کنم. ممنون میشم کمکم کنید. اینم کدش.
(توجیه:برای یک کالا 3 عکس در نظر گرفتم. میخوام همه اطلاعت در یک رکورد ذخیره شوند)


<?php

if(isset($_FILES['files'])){
$res = upload_multiple_file($_FILES['files'],"user_files");
echo $res;
}


function upload_multiple_file($file,$file_dir="user_files") {

$overwrite=0;
$allowed_file_type= array("pdf","ppt","pptx","xls"."xlxs","doc","docx","jpg", "jpeg", "png", "gif");
$max_file_size = 2097152;

foreach($_FILES['files']['name'] as $fkey=> $fname){

$ext = pathinfo($fname, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed_file_type)) {

return "unsupported file format";
break;
}


}

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){


$file_name = $_FILES['files']['name'][$key];


$file_size =$_FILES['files']['size'][$key];


$file_tmp_name =$_FILES['files']['tmp_name'][$key];


$file_type=$_FILES['files']['type'][$key];


if($file_size >0) {
if($file_size > $max_file_size){

$fsize=$max_file_size/1048576;
return 'File size must be less than '.$fsize.' MB';
break;

}
}


if(is_dir($file_dir)==false){

$status = mkdir("$file_dir", 0700);

if($status < 1){

return "unable to create diractory $file_dir ";

}

}

if(is_dir($file_dir)){

if($overwrite < 1){

move_uploaded_file($file_tmp_name,"$file_dir/".$file_name);

}

}

// $file_upload_query="INSERT into user_uploads (`u_id`,`file_name`,`file_type`) VALUES('$user_id','$file_name','$file_size','$file _type'); ";
//mysql_query($file_upload_query);


}

return "Success save & upload";

}

?>


<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple/><br>
<input type="file" name="files[]" multiple/><br>
<input type="file" name="files[]" multiple/><br><br>
<input type="submit" value="save & upload"/>
</form>

فرزند کوروش
شنبه 26 مرداد 1392, 13:44 عصر
function upload_multiple_file($file,$file_dir="user_files") {

$overwrite=0;
$allowed_file_type= array("pdf","ppt","pptx","xls"."xlxs","doc","docx" ,"jpg", "jpeg", "png", "gif");
$max_file_size = 2097152;

foreach($_FILES['files']['name'] as $fkey=> $fname){

$ext = pathinfo($fname, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed_file_type)) {

return "unsupported file format";
break;
}


}

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){


$file_name = $_FILES['files']['name'][$key];


$file_size =$_FILES['files']['size'][$key];


$file_tmp_name =$_FILES['files']['tmp_name'][$key];


$file_type=$_FILES['files']['type'][$key];


if($file_size >0) {
if($file_size > $max_file_size){

$fsize=$max_file_size/1048576;
return 'File size must be less than '.$fsize.' MB';
break;

}
}


if(is_dir($file_dir)==false){

$status = mkdir("$file_dir", 0700);

if($status < 1){

return "unable to create diractory $file_dir ";

}

}

if(is_dir($file_dir)){

if($overwrite < 1){

move_uploaded_file($file_tmp_name,"$file_dir/".$file_name);
$file_upload_query="INSERT into user_uploads (`u_id`,`file_name`) VALUES('$user_id','$file_name'); ";
mysql_query($file_upload_query)or die(mysql_error());
}

}




}

return "Success save & upload";

}



تست نکردم ولی باید عمل کنه

ehsan_savadkohi
شنبه 26 مرداد 1392, 14:31 عصر
داداش همون قبلی هم عمل میکنه. موردی تو آپلود چند تایی ندارم! حالا میخوام آدرس این چند تا عکس آپلود شده را همراه با اطلاعات کالا در یک رکورد ذخیره کنم.
این جدادکردن آدرس چند تا عکس مهمه!

فرزند کوروش
شنبه 26 مرداد 1392, 15:27 عصر
خب دوست گرامی من هم کوئری نوشتم دیگه برای اینسرت شدن در دیتابیس


$file_upload_query="INSERT into user_uploads (`u_id`,`file_name`) VALUES('$user_id','$file_name'); ";
mysql_query($file_upload_query)or die(mysql_error());

چون داخل حلقه هست باید همه رو بصورت جداگانه اینسرت کنه( بازم میگم اینو تست نکردم ولی مشابهشو انجام دادم)