PDA

View Full Version : سوال: کمک برای ایجاد شرط در هنگام پست دادن



mamali-mohammad
جمعه 12 فروردین 1390, 18:56 عصر
سلام
دوستان چند روز خیلی دارم زحمت میدم
شرمنده

سوال دارم :

من دوتا Brows گذاشتم
یکیش باید SWF آپلود کنم و یکی باید JPG

حالا میخوام دستور بدم که اگه از Brows1 آپلود شد ، لینک SWF رو بده ، اگه از Brows2 آپلود شد ، لینک JPG رو نشون بده
چطوری میشه چنین کاری کرد ؟

این نحوه آپلود :

$pid=mysql_insert_id();
$pids=mysql_insert_id();
$newname="$pid.jpg";
move_uploaded_file($_FILES['brows2']['tmp_name'], "../upload_images/$newname");
$newnames=''.$pids.'s.swf';
move_uploaded_file($_FILES['brows1']['tmp_name'], "../upload_images/$newnames");

و اینم کد نمایش :

$product_list .='<div id="post_last">
<div id="last_post_pic">
<img src="upload_images/'.$id.'.jpg" width="117" height="117" style="margin-left:1px; margin-top:1px;" />
</div>
<div id="last_post_text">
<h1>'.$title.'</h1></br>
<h2>تحویل به صورت : <span class="n">'.$delivery.'</span></h2>
<h2>همکاری با : <span class="n">'.$assist.'</span></h2>
<h2>موضوع : <span class="n">'.$subject.'</span></h2>
<h2>رنگبندی : <span class="n">'.$color.'</span></h2>
<h2>کد پروژه : <span class="n">'.$code.'</span></h2>
</div>
<div id="last_post_button">
<ul style="text-align:center; margin-right:15px;">: دسته بندی<br/><span class="n">'.$category.'</span></ul>
<a id="example3" href="upload_images/'.$id.'s.swf">
<img src="images/prev.gif" border="0" style="margin-left:23px; margin-top:8px;"/></a>
<a href="cat.php?category='.$category.'"><img src="images/list.gif" border="0" style="margin-left:23px; margin-top:2px;"/></a>
<ul style="margin-top:6px;">تاریخ ارسال : <span class="n">'.$date.'</span></ul>
</div><br style="clear:both;" />
</div><div id="lines">
</div>';

اگه توجه کنید ، در کد من همزمان هردوتاشو میزاره
حالا من میخوام بینشون شرط بیاد
ممنون

mamali-mohammad
شنبه 13 فروردین 1390, 15:02 عصر
دوستان یه راهنمایی کنید
یه شرط بزارم که یکیشو نشون بده

king-net
شنبه 13 فروردین 1390, 15:11 عصر
اگه منظورتون رو درست متوجه شده باشم ، شما باید اول نوع فایل رو تشخیص بدید بعدش یک ایف بگذارید که اگه jpg بود با header برات بفرستش به جایی که می خوای .

mamali-mohammad
شنبه 13 فروردین 1390, 16:01 عصر
تقریبا همینه
یه مثال ساده بزنم :

یه سیب داریم و یه گلابی
اگه سیب انتخاب شد ، چاپ کن Sib
اگه گلابی انتخاب شد ، چاپ کن Golabi

چنین چیزی میخوام

king-net
شنبه 13 فروردین 1390, 16:18 عصر
$s = 'sib';
$g = 'golabi';
if($s == 'sib'){
echo 'sib';
}
elseif($g == 'golabi'){
echo 'golabi';
}
else{
echo 'hichkodam'l
}


:لبخند:

mamali-mohammad
شنبه 13 فروردین 1390, 18:30 عصر
ممنون داداش
اما این جواب کار منو نمیده
دقیقا برای این قسمت نمیدونم چی بنویسم :

if($s == 'sib'){
چی برابر با چی باشه ؟
این مهم هست برام

Mr.Moghadam
شنبه 13 فروردین 1390, 19:29 عصر
ممنون داداش
اما این جواب کار منو نمیده
دقیقا برای این قسمت نمیدونم چی بنویسم :

if($s == 'sib'){
چی برابر با چی باشه ؟
این مهم هست برام


if($_FILES["file"]["type"] == 'jpg')
echo 'jpg';
if($_FILES["file"]["type"] == 'swf')
echo 'swf';

mamali-mohammad
شنبه 13 فروردین 1390, 20:28 عصر
سلام
ممنون
مشکل من اینه که مکان های آپلود در کنترل پنل هست و نمایش در صفحه اصلی
این در کنترل پنل دستورش :

<?php
if (isset($_POST['product_name'])){
$product_name=mysql_real_escape_string($_POST['product_name']);
$price=mysql_real_escape_string($_POST['price']);
$category=mysql_real_escape_string($_POST['category']);
$subcategory=mysql_real_escape_string($_POST['subcategory']);
$details=mysql_real_escape_string($_POST['details']);

$sql=mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
$productMatch=mysql_num_rows($sql);
if ($productMatch > 0){
echo "Sorry";
exit();
}

$sql=mysql_query("INSERT INTO products (product_name, price, details, category,subcategory,date_added)
VALUES('$product_name','$price','$details','$categ ory','$subcategory',now())") or die (mysql_error());
$pid=mysql_insert_id();
move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/'.$pid.'");
header("location: inventory_list.php");
exit();
}
?>

اینم نمایش در صفحه اصلی :

<?php
$sql2 = mysql_query("SELECT * FROM products ORDER BY id DESC $limit");
$dynamicList="";
while($row = mysql_fetch_array($sql2)){
$id=$row["id"];
$category=$row["category"];
$price=$row["price"];
$product_name=$row["product_name"];
$date_added=strftime("%b,%d,%Y",strtotime($row["date_added"]));
$dynamicList .='<table width="500" border="1">
<tr>
<td width="126"><img src="inventory_images/'. $id .'.jpg"/></a></td>
<td width="300"><p>'. $product_name .'</p>
<p>$ '. $price .'</p>
<p><a href="product.php?id='. $id .'">view</a></p>
<p><a href="cate.php?category='. $category .'">view</a></p></td>
</tr>
</table>';
}
?>

که با Echo کردن dynamicList در html محتویات رو به صورت چرخشی نشون میده

ممنون میشم کد دقیقتری برای شرطی کردن بدید

یه چیز دیگه ، نحوه آپلود فایل صحیح هست ؟

Mr.Moghadam
شنبه 13 فروردین 1390, 21:36 عصر
من دوتا Brows گذاشتم
یکیش باید SWF آپلود کنم و یکی باید JPG

حالا میخوام دستور بدم که اگه از Brows1 آپلود شد ، لینک SWF رو بده ، اگه از Brows2 آپلود شد ، لینک JPG رو نشون بده
چطوری میشه چنین کاری کرد ؟
برای چک کردن اینکه کدوم یکی از فایلها آپلود شده از کد زیر استفاده کن


$pids=mysql_insert_id();

if ($_FILES["brows1"]["error"] == 0)
{
move_uploaded_file($_FILES['brows1']['tmp_name'], "../upload_images/$newname");
}
if ($_FILES["brows2"]["error"] == 0)
{
move_uploaded_file($_FILES['brows2']['tmp_name'], "../upload_images/$newname");
}


یا




if(file_exists($_FILES['brows1']['tmp_name']))
{
move_uploaded_file($_FILES['brows1']['tmp_name'], "../upload_images/$newname");
}
if(file_exists($_FILES["brows2"]["tmp_name"]))
{
move_uploaded_file($_FILES['brows2']['tmp_name'], "../upload_images/$newname");
}





مشکل من اینه که مکان های آپلود در کنترل پنل هست و نمایش در صفحه اصلی
این قسمتش رو نفهمیدم

mamali-mohammad
شنبه 13 فروردین 1390, 21:49 عصر
ممنون
من سوال رو یه طور دیگه می پرسم

یه Brows داریم .

1- یه کد بده که هر فایل آپلود شد ، با فرمت خودش ذخیره کنه
اگه JPG بود در مسیر مورد نظر ما jpg ذخیره کنه و اگه swf بود هم با فرمت خودش
به طور کلی ، هیچ تغییری در فرمت ها ایجاد نشه

2- کد فراخوانیش هم بده لطفا
مثلا

<img src="yourname/img.jpg" />
این حالتی برای jpg هست
حالا میخوام اتوماتیک فرمت فایل رو خودش بزاره

ممنون

mamali-mohammad
شنبه 13 فروردین 1390, 22:47 عصر
نحوه آپلود رو اوکی کردم :

$fileName = $_FILES["fileField"]["name"];
$fileType = $_FILES["fileField"]["type"];
$fileTmpLoc = $_FILES["fileField"]["tmp_name"];
move_uploaded_file($fileTmpLoc, "../inventory_images/$fileName");

حالا مونده تحوه تغییر نام هنگام ذخیره
و همچنین فراخوانی برای نمایش

mamali-mohammad
شنبه 13 فروردین 1390, 23:56 عصر
$pid=mysql_insert_id();
$fileName = $_FILES["fileField"]["name"];
$fileType = $_FILES["fileField"]["type"];
$fileTmpLoc = $_FILES["fileField"]["tmp_name"];
$newname="$pid.jpg";
move_uploaded_file($fileTmpLoc, "../inventory_images/$fileName");
rename("../inventory_images/$fileName","../inventory_images/$pid");


آقا اینم برای تغییر نام !!!
تنها مشکل اینه که زمانی که $fileName به $pid تغییر میکنه ، باعث میشه فرمت فایل های آپلود شده حذف بشن
مثلا ali.jpg میشه ali !
چه کنم ؟ :(

mamali-mohammad
یک شنبه 14 فروردین 1390, 13:21 عصر
دوستان
میتونید کمک کنید ؟
ممنون

Mr.Moghadam
یک شنبه 14 فروردین 1390, 13:45 عصر
$pid=mysql_insert_id();
$fileName = $_FILES["fileField"]["name"];
$fileType = $_FILES["fileField"]["type"];
$fileTmpLoc = $_FILES["fileField"]["tmp_name"];
$newname="$pid.jpg";
move_uploaded_file($fileTmpLoc, "../inventory_images/$fileName");
rename("../inventory_images/$fileName","../inventory_images/$pid");


آقا اینم برای تغییر نام !!!
تنها مشکل اینه که زمانی که $fileName به $pid تغییر میکنه ، باعث میشه فرمت فایل های آپلود شده حذف بشن
مثلا ali.jpg میشه ali !
چه کنم ؟ :(

اگه مثل زیر عمل کنی چی؟


$fileType = $_FILES["fileField"]["type"];
rename("../inventory_images/$fileName","../inventory_images/$pid".$fileType);

mamali-mohammad
یک شنبه 14 فروردین 1390, 14:07 عصر
خیر ،
جواب نداد

Mr.Moghadam
یک شنبه 14 فروردین 1390, 18:13 عصر
$pid=mysql_insert_id();
$fileName = $_FILES["fileField"]["name"];
$fileType = $_FILES["fileField"]["type"];
$fileTmpLoc = $_FILES["fileField"]["tmp_name"];
$newname="$pid.jpg";
move_uploaded_file($fileTmpLoc, "../inventory_images/".$newname.$fileType);
// rename("../inventory_images/$fileName","../inventory_images/$pid");


??

mamali-mohammad
یک شنبه 14 فروردین 1390, 19:13 عصر
سلام
داداش اینم جواب نداد
خودم بلاخره انجام دادم :

$exp = substr($fileName ,-3);
move_uploaded_file($fileTmpLoc, "../inventory_images/$fileName");
rename("../inventory_images/$fileName",'../inventory_images/'.$pid.'.'.$exp.'');

فقط مونده نحوه نمایش که متاسفانه هنوز نمی تونم انجام بدم

Mr.Moghadam
یک شنبه 14 فروردین 1390, 20:52 عصر
از این روش استفاده کنی بهتره چون ممکنه پسوندی 4 حرفی هم بخواد آپلود شه یا دوحرفی



$fileType = $_FILES["fileField"]["type"];
move_uploaded_file($fileTmpLoc, "../inventory_images/".$pid.'.'.$fileType);
//rename("../inventory_images/$fileName",'../inventory_images/'.$pid.'.'.$exp.'');




برای نمایش میتونی اگر فقط دوتا پسوند داری میتونی وقتی که $pid رو از دیتابیس خوندی برای دوتاش چک کنی ببینی فایل با این نام و پسوند وجود داره یا نه اگه نبود اون یکی رو چک کن .

mamali-mohammad
یک شنبه 14 فروردین 1390, 21:16 عصر
عکس ها در دیتابیس ذخیره نمیشه
در فولدر ذخیره میشه
چطوری بخونه ؟

Mr.Moghadam
یک شنبه 14 فروردین 1390, 22:13 عصر
درصورتی که فقط از پسوندهای jpg یا swf استفاده میکنی به صورت زیر اما طوری که خودت میخوای تغییرش بده


$pig = $row['id'];
if(file_exists("inventory_images/$pid.jpg"))
echo "Image";
if(file_exists("inventory_images/$pid.swf"))
echo "swf";



اما اگر پسوند عکسات چندتا بود باید پسوندها رو توی آرایه قرار بدی وتوی یه حلقه foreach هر بار چک کنی و . . .

mamali-mohammad
یک شنبه 14 فروردین 1390, 22:45 عصر
ممنون دوست من
میشه دقیقش رو بهم بدی ؟
با کدهای خودم
چون هرکاری میکنه ست نمیشه

mamali-mohammad
یک شنبه 14 فروردین 1390, 23:03 عصر
ممنون عزیزم
ردیف شد
دمت گرم