سلام
من يه اسكريپت آپلود عكس خوب پيدا كردم ميخوام اول موقع آپلود يه عددي تصادفي مثل id به اسمش اضافه كنم و آدرس كاملش كه آپلود شده رو بدست بيارم و توي ديتابيس ذخيره كنم
ممنون ميشم راهنمائي كنيد . لطفا با مثال
مرسي
سلام
من يه اسكريپت آپلود عكس خوب پيدا كردم ميخوام اول موقع آپلود يه عددي تصادفي مثل id به اسمش اضافه كنم و آدرس كاملش كه آپلود شده رو بدست بيارم و توي ديتابيس ذخيره كنم
ممنون ميشم راهنمائي كنيد . لطفا با مثال
مرسي
داداش نیازی به آی دی نداری - من ساعت و تاریخ زمانی که آپلود می شه رو چسبوندم به نام عکس و به نظرم اینطوری بهتره تا آی دی بهش بچسبه
فایل تصویر به داخل پوشه upload هدایت می شه و $dir رو باید در بانک ذخیره کنی
اینم کد :
if(!empty($_FILES["pic"]['name']))
{
if( ($_FILES["pic"]["type"]=="image/gif") or ($_FILES["pic"]["type"]=="image/x-png") or ($_FILES["pic"]["type"]=="image/png") or ($_FILES["pic"]["type"]== "image/pjpeg") or ($_FILES["pic"]["type"]=="image/jpeg") or ($_FILES["pic"]["type"]=="image/jpg"))
{
$time = time();
$name=strtolower( $_FILES['pic']['name']);
$ext=$name[strlen($name)-3].$name[strlen($name)-2].$name[strlen($name)-1];
$dir=$name."_".$time.".".$ext;
if(!file_exists("./upload/".$dir))
{
move_uploaded_file($_FILES['pic']['tmp_name'],"../upload/".$dir) or die ("Could not move_uploaded_file");
$pic=true;
}
}
else
{
echo"<meta http-equiv=\"content-Type\" content=\"text/html; charset=utf-8\"><script>alert(\"!! پسوند تصاویر قابل قبول نیست \")</script>";
$dir='';
$pic=false;
}
}
با اين كدي كه شما گذاشتين هيچ عكسي آپلود نميشه!!
هيچ اروري هم نميده. ولي وقتي فولدر upload و چك ميكنم هيچ عكسي توش نيست.
سلام
من يه اسكريپت آپلود عكس خوب پيدا كردم
سلام
چطوری فرد میتونه از هارد کامپیوترش عکس هایی رو آپلود کنه و در سرور ذخیره کنه. نمونه کد ان چطوری میشه. بر وری لوکال چون تو همون کامپیوتر عکسها وجود دارند مشکلی نیست اما بر روی سرور اصلی ، مسیر فایل چطوری برنامه نویسی میشود؟
مسیر رو از شاخه ای که فایل آپلودر قرار داره حساب کنید.
شما اين اسكريپتو امتحان كردين كه درست كار ميكنه يا نه؟؟
من كه هر چي عكس آپلود ميكنم باهاش نه پيغام خطا با جاوا اسكريپتو نشون ميده نه عكس و آپلود ميكنه!!!
لاین 19 کدی که به شما دادم ../upload/".$dir ===> .. (دو نقطه) یعنی برگرد به یک پوشه قبل و پوشه آپلود رو بخون ، شما این رو به یک نقطه تغییر بدید تا مشکلتون حل بشه
./upload/".$dir
مرسي ولي مشكلم حل نشده هنوز
من از اين كد استفاده ميكنم
if(isset($_GET['submit'])){
if(!empty($_FILES["pic"]['name'])){
if( ($_FILES["pic"]["type"]=="image/gif") or ($_FILES["pic"]["type"]=="image/x-png") or ($_FILES["pic"]["type"]=="image/png") or ($_FILES["pic"]["type"]== "image/pjpeg") or ($_FILES["pic"]["type"]=="image/jpeg") or ($_FILES["pic"]["type"]=="image/jpg")){
$time = time();
$name=strtolower( $_FILES['pic']['name']);
$ext=$name[strlen($name)-3].$name[strlen($name)-2].$name[strlen($name)-1];
$dir=$name."_".$time.".".$ext;
if(!file_exists("/uploads/".$dir)){
move_uploaded_file($_FILES['pic']['tmp_name'],"/upload/".$dir) or die ("Could not move_uploaded_file");
$pic=true;
}
}else{
echo"<meta http-equiv=\"content-Type\" content=\"text/html; charset=utf-8\"><script>alert(\"!! پسوند تصاویر قابل قبول نیست \")</script>";
$dir='';
$pic=false;
exit();
}
}
عكس: <input name="pic" type="file" style="width:350px"/>
راستي من روي لوكال تست ميكنم
شرط خط 8 رو بردار ببین کار میکنه؟
اگه بدون شرط کار کرد اینجوری ببین کار میکنه
if(!file_exists("uploads/".$dir))
بله داداش
تست شده هست ، وگرنه برای شما این کد رو نمی ذاشتم !!!!!
دوست خوبم ، ببین شما اون get رو بردار و اول مشکل آپلود کردنت رو حل کن و سپس بند و مخلفات رو بهش اضافه کن . نوبت به نوبت - شما وقتی هنوز جوابی رو نگرفتید چطور همون اول واسش شرط گذاشتید !!!!!
مطمئن باشید مشکلتون رو آدرس دهی هست ! لاین 8 و 9 آدرس دهی ها باید یکی باشه . یا اصلا کلی آدرس دهی کن ببین جواب می گیری ؟
http://localhost/foolder/upload/
سلام من بعد از همون if اول یه echo گذاشتم ببینم از این رد می شه که نشد!!!!!!!! اسم هم همون که خودت گذاشتی انتخاب کردم اصلا همون کد خودت.
بعدشم با یه دکمه به فایل پی اچ پی وصل میشه کلا از همون اول رد نمیشه و اگه برداریش بعدیش میکه فایل بی فابل .
منظورم اینکه اینگار نمی دونه چیزی بهش اضافه شده!
اکشن فورمت رو چی گذاشتی ؟ اسم صفحه ات چیه ؟
up.php مگه مشکلی داره؟
می شناسه. یعنی اگه ارور داشته باشه خبر می ده اما توی کد شما وقتی اولین if خرابه(شرطش برقرار نیست) روی همه کد ها می پره و بدون ارور و بدون هیچ کاری برنامه تموم میشه
من هر جا این کد بود $_FILES بیشنتر به مشکل خوردم.
در ضمن اگه if اول رو حذف کنی خد دوم میگه پسنوند درست نیست که یعنی کلا خالیه انگار!!!!!!!!!!!!
چون نمی فهمه که عکسی اومده با این پسوند
داداش منظور من رو نگرفتی .
می گم این دکمه ای گذاشتی برای ارسال ، آیا داخل فرم هست ؟ آیا فرمت رو به این صفحه ای که گفتی ارسال کردی ؟
ببین اینطوری توی تگ بادی
<form action="up.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="file" />
<input type="submit" name="Submit" value="Submit" />
</form>
و بعد اون دستوراتی که بهت دادم رو در اول صفحه بذار قبل تمامی کدهات .
اگه تونستی درستش کنی که هیچ و اگر نتونستی فایلت رو اینجا قرار بده تا واست ردیفش کنم
سلام اقا دستت درد نکنه من قبلا این رو نمی نوشتمenctype="multipart/form-data"
درست شد خیلی نیاز داشتم.
بابا من کلی pdfخوندم و کلی فیلم دیدم اما هیچی بهم یاد ندادن همش اینکه چطور متغیر تعریف کنی!!!!!!
آقا اگه چند تا مثال خوب داری برام پست کن.
کلا کار با تصاویر و کار های گرافیکی باشه که هیچی بلد نیستم. (و البته هر چیزی که دوست دارید)
البته اگه وقت دارید.
راستی همینجا چطور بررسی کنم که عکس از یه حدی بزرگ تر نباشه و از یه حجمی بیشتر نباشه؟ چون من این رو برای آواتار می خواستم.
راستی یه نکته من این آدرس رو نوشتم:C:\upload اما اون اومد همینجوری تو c ریخت و به پوشه کاری نداشت. دلیلش چیه؟
آخرین ویرایش به وسیله sobhangh : جمعه 26 فروردین 1390 در 20:50 عصر
این رو خودم نوشتم و حجم فایل یا تصویر رو برات می زنه و فقط کافیه $Size رو در همراه با نام عکس در بانک ذخیره کنی و دیگه نیازی نیست دستی حجم وارد کنی !!!!!
$size = $HTTP_POST_FILES['file']['size'];
if ($size>999999){
$theDiv = $size / 1000000;
$size = round($theDiv, 1)." مگابایت";
} else {
$theDiv = $size / 1000;
$size = round($theDiv, 1)." کیلوبایت";
}
اون نوع آدرس دهی که شما گفتید اشتباهه !!!!!!!!!!!!
1 : برای اینکه آدرس دهی کنی و بریزی داخل یک پوشه باید تهش رو ببندی !!!! /upload/ اینطوری
2 : آیا توی هاست شما درایو C داری - همیشه توی وب سرورت ذخیره کن
3 : آدرس دهی رو با / انجام بده
خوب من action فرمم خاليه ولي هنوز هيچ عكسي ذخيره نميشه!!!
encrypte هم توي فرمم گذاشتم ولي كار نميكنه
<form name="agahi" method="GET" action="" enctype="multipart/form-data">
با این می تونی عکسی که آپلود کردی رو پاک کنی :
$pic=$row['pic'];
unlink("../upload/".$pic);
تغییر سایز :
function thumbnail($img,$size,$imagebasename,$filetype){
$image = $img ;
$imagebasename="thumb".$imagebasename;
$width = $size[0];
$height = $size[1];
$image_dir = "images/uploaded/product";
$newwidth = 130 ;
$newheight = 90 ;
if($filetype == 'image/pjpeg' ) $src = imagecreatefromjpeg($image);
else if($filetype == 'image/gif' ) $src = imagecreatefromgif($image);
else if($filetype == 'image/jpeg' ) $src = imagecreatefromjpeg($image);
$im = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($im,$src,0,0,0,0,$newwidth,$new height,$width,$height);
imagejpeg($im, "../$image_dir/thumb/$imagebasename");
imagedestroy($im);}
برای تغییر سایز هم توی انجمن سرچ کن
این یک نمونه خوب :
https://barnamenevis.org/showthread.p...B9%DA%A9%D8%B3
و اینم چند نمونه دیگه
http://snipplr.com/view/27/resize-image/
http://www.phptoys.com/e107_plugins/...php?content.46
http://www.white-hat-web-design.co.u...e-resizing.php
فکر می کنم کافی باشه
موفق باشید دوستان
شب خوش
اين كد و من استفاده كردم ولي ارور ميده
يكم تغييرش دادم اين شكلي شده
function thumbnail($img,$size,$imagebasename,$filetype){
if(!empty($img)){
$image = $img ;
}else{$image = 'upload/imgads/No-Image-Available.gif';
}
$imagebasename="thumb".$imagebasename;
$width = $size[0];
$height = $size[1];
$image_dir = "/upload/imgads";
$newwidth = 130 ;
$newheight = 90 ;
if($filetype == 'image/pjpeg' ) $src = imagecreatefromjpeg($image);
else if($filetype == 'image/gif' ) $src = imagecreatefromgif($image);
else if($filetype == 'image/jpeg' ) $src = imagecreatefromjpeg($image);
$im = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($im,$src,0,0,0,0,$newwidth,$new height,$width,$height);
imagejpeg($im, "$image_dir/thumb/$imagebasename");
imagedestroy($im);}
وقتي $src رو توي برنامم echo ميكنم اين ارور و ميده
arning: imagejpeg() [function.imagejpeg]: Unable to open '/upload/imgads/thumb/thumb1304243490' for writing: No such file or directory in /hom
نقطه رو در نظر بگیر همیشه .
اگه فولدر توی پوشه قبل قرار داره باید از دونقطه .. استفاده کنی و اگر در همون قسمت هست باید از تک نقطه . استفاده کنی. این قسمت رو یه کم دقت کن و ببین با این کار مشکلت حل می شه
$image_dir = "./upload/imgads";
روی آدرس دهی ها بیشتر دقت کن و احتمال زیاد مشکلت از همین جاهاست
مرسي درست شد . همون آدرس دهي اشتباه بود.
ولي الان با اينكه هيچ اروري نميده هيچ عكسي هم چاپ نميكنه.
من اينطوري ازش خروجي گرفتم هيچي نمايش نميده .
<?php
thumbnail($src)
?>
ميشه بهم بگين چيكار بايد بكنم؟
يه سئوال ديگه هم داشتم . توي همين فانكشن من يه شرط اضافه كردم اگه ديده باشين كه اگر $img خالي بود آدرس عكس پيش فرض و نمايش بده ولي اون هم درست كار نميكنه !؟؟
والا $src و كه شما تو اسكريپت ازش استفاده كرده بودي به نظرم اومد بعد از thumb كردن ميريخت توي $src بخاطر همين هم من اين متغير و پرينت كردم!!
براي اين تابع هم پارامتر ها رو اينجوري تعريف كردم
$img همون آدرس عكسه كه از ديتابيس خونده ميشه كه اينم خود شما زحمت كشيدين اسكريپتشو
$img = $rows[3];
$size = array(100, 100);
$imagebasename = time();
$filetype = 'image/jpeg';
thumbnail($img,$size,$imagebasename,$filetype);
اصلا هيچ چيزي توي خروجي چاپ نميشه
خروجي كلا سفيده
شرمنده چند روزی نبودم - مشکلتون حل شده ؟