PDA

View Full Version : سوال: کمک F1



ehsan_savadkohi
شنبه 26 مرداد 1392, 10:28 صبح
سلام دوستان....
من میخوام اطلاعات یک کالا را با 3 عدد عکس ذخیره کنم. در لوکال هاست جواب میده. ولی در محیط واقعی که سایت بالاست جواب نمیده!!! اینم کدشه . ممنون میشم کمکم کنید.


<?php

require_once ('../Product/jcalendar.php');
/*--------------------------------------------*/
if (isset($_POST['savekala'])) {

$calendar = new jCalendar;
// سپس یک نمونه از آن می گیریم
//-------------------------
$time = $calendar -> date('H:i:s');
$date = $calendar -> date('l.d/F/Y');
//------------------------------------
$name = $_POST['namekala'];
$model = $_POST['modelkala'];
$gheymat = $_POST['gheymat'];
$typekala = $_POST['typekala'];
$groupkala = $_POST['groupkala'];
$jenskala = $_POST['jenskala'];
$tedad = $_POST['tedad'];
$tolid = $_POST['Tname'];
$desc1 = $_POST['desc1'];
$desc2 = $_POST['desc2'];
move_uploaded_file($_FILES["pic1"]["tmp_name"], "../images/photos/" . $_FILES["pic1"]["name"]);
$file_name = "../images/photos/" . $_FILES["pic1"]["name"];
//نگه داشتن آدرس عکس برای ذخیره
$insertSQL = sprintf("INSERT INTO products ( PName,PModel,PPrice,PPhoto1 ,PDesc1,PDesc2,PTedad,PDate,PTime,PGroup,PClass,PJ entype,tolid )
VALUES (N'$name',N'$model',N'$gheymat',N'$file_name',N'$d esc1',N'$desc2','$tedad',N'$date',N'$time',N'$grou pkala',N'$jenskala',N'$typekala',N'$tolid')");

mysql_select_db($database_register, $register);
$Result1 = mysql_query($insertSQL, $register) or die(mysql_error());
$prodid = mysql_insert_id();

/*****************************ذخیره عکس های کالا****pic2****************/
move_uploaded_file($_FILES["pic2"]["tmp_name"], "../images/photos/" . $_FILES["pic2"]["name"]);
$file_pic2 = "../images/photos/" . $_FILES["pic2"]["name"];
//نگه داشتن آدرس عکس برای ذخیره

$insertSQL = sprintf("UPDATE `products` SET `PPhoto2` = '$file_pic2' WHERE `Pid` =$prodid");
mysql_select_db($database_register, $register);
$Result1 = mysql_query($insertSQL, $register) or die(mysql_error());
/*---------------------------------------------------------------*/

/*****************************ذخیره عکس های کالا****pic2****************/
move_uploaded_file($_FILES["pic3"]["tmp_name"], "../images/photos/" . $_FILES["pic3"]["name"]);
$file_pic3 = "../images/photos/" . $_FILES["pic3"]["name"];
//نگه داشتن آدرس عکس برای ذخیره

$insertSQL = sprintf("UPDATE `products` SET `PPhoto3` = '$file_pic3' WHERE `Pid` =$prodid");
mysql_select_db($database_register, $register);
$Result1 = mysql_query($insertSQL, $register) or die(mysql_error());
/*---------------------------------------------------------------*/

$check_result = 1;

}
?>

WOLF_MEHRDAD
شنبه 26 مرداد 1392, 11:09 صبح
درود بر شما ،

عنوانتون رو درست انتخاب کنید.


این تابع فقط یک بار باید اجرا بشه ( توی توضیحاتش نوشه "If the file is valid, it will be moved to the filename" ).
پیشنهاد میکنم از move_uploaded_file استفاده نکنید.

بهترین کار به توصیه جناب شهرکی ساخت تصویر از کپی تصویر هست که اگر فایل مورد نظر عکس نبود یک تصویر سیاه درست میکنه

ضمناً به مسائل امنیتی از جمله چک کردن نوع فایل و ... هم توجه کنید.

شرمنده اگه بد توضیح دادم

موفق باشید

AliRezaPro
شنبه 26 مرداد 1392, 11:42 صبح
شما هیچ چیزی رو هندل نکردید ! اینجور کد نوشتن زیاد صحیح نیست , اگر شما 300 تا Input داشتید برای تک تکشون Move_... رو می نوشتید ؟
از این کد بهره ببیرید :

<input type='file' name='file[]' multiple>

<html>
<title>Upload</title>
<?php
session_start();
$target=$_POST['directory'];
if($target[strlen($target)-1]!='/')
$target=$target.'/';
$count=0;
foreach ($_FILES['file']['name'] as $filename)
{
$temp=$target;
$tmp=$_FILES['file']['tmp_name'][$count];
$count=$count + 1;
$temp=$temp.basename($filename);
move_uploaded_file($tmp,$temp);
$temp='';
$tmp='';
}
header("location:../../views/upload.php");
?>
</html>
که

$_FILES['file']['name'][0]
اشاره میکنه به اولین input برای ذخیره
و

$_FILES['file']['name'][1]
به دومین
سعی کنید تک تک این input ها را مدیریت کنید و از هرگونه Exception ی جلوگیری کنید

ehsan_savadkohi
شنبه 26 مرداد 1392, 12:16 عصر
ممنونم از راهنماییتون.
صحبت شما درسته.. حالا میخوام که هریک از این آدرس input هارا در همان سطر کالا در 3 فیلد ذخیره کنم. باید به چه شکل این کار را انجام دهم؟؟/
یعنی ابتدا اطلاعات کالا و بعد آدرس عکس 3 کالا در یک رکورد ذخیره شود.

ehsan_savadkohi
شنبه 26 مرداد 1392, 16:31 عصر
کمکم کنید لطفا! میشه یا نه !!!!1