رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد تگ img بعد از ساخت thumbnail (حل شد)
#1
وقتی از عکس اصلی یه thumbnail میسازم کل صفحه به شکل زیر در میاد
چرا؟
   




function createThumbnail(){
    
    if(isset($_POST['submit'])){
        if(isset($_FILES['picture']) && !empty($_FILES['picture']['name'])){
            

                            $pic_name = $_FILES['picture']['name'];

                            $pic_temp = $_FILES['picture']['tmp_name'];

                            $pic_size = $_FILES['picture']['size'];

                            $pic_type = $_FILES['picture']['type'];

                            $pic_error = $_FILES['picture']['error'];

                            

                            $validExt = array('image/jpeg','image/gif','image/png');

                            if($pic_error == 0 ){



                                    if($pic_size <= 16777216){

                                            if(in_array($pic_type,$validExt)){

                                                    if($pic_type == $validExt[0] ){

                                                            $Ext = '.jpg';	

                                                    }

                                                    elseif($pic_type == $validExt[1]){

                                                            $Ext = '.gif';

                                                    }

                                                    elseif($pic_type == $validExt[2]){

                                                            $Ext = '.png';

                                                    }

                                                    $new_name = md5(rand(0,9999)).$Ext;

                                                     move_uploaded_file($pic_temp,''.$new_name);
                                                    $pic = $new_name;
                                                             $src = ImageCreateFromJPEG($pic);
                                                            

                                                           $width = imagesx($src).PHP_EOL;
                                                           $height = imagesy($src).PHP_EOL;
                                                           $x = $width/2 .PHP_EOL;
                                                           $y = $height/2 .PHP_EOL;
                                                          $img = ImageCreateTrueColor($x,$y);
                                                          imagecopyresampled($img, $src, 0, 0, 0, 0, $x, $y, $width, $height);
                                                          header('Content-Type: image/jpg');
                                                          imageJPEG($img,"thumb/".$pic);
                                                             
                                                          
                                                     

                                            }

                                            else{

                                                    echo  "این نوع فایل برای آپلود مجاز نیست";

                                            }



                                    }

                                    else{

                                            echo  "حجم فایل بیش از حد  مجاز است";

                                    }



                            }else{

                                    echo   "هنگام آپلود مشکلی پش آمده";

                            }



                    }else{

                        echo "لطفا یک عکس انتخاب کنید";

                    }
            
    
        }
    }


پاسخ
تشکر شده توسط:
#2
خوب شما آدرس عکس رو که توی src تگ img گذاشتین مستقیماً توی مرورگر باز کنید ببینید چه خطایی میده.
پاسخ
تشکر شده توسط:
#3
(29-03-1394، 12:52 ق.ظ)ADMIN نوشته: خوب شما آدرس عکس رو که توی src تگ img گذاشتین مستقیماً توی مرورگر باز کنید ببینید چه خطایی میده.

اصلا من تگ img ندارم تو صفحه فقط عکسو ذخیره میکنم که مشکلی هم نداره
اما به محض اینکه عکس ذخیره میشه صفحه refresh میشه و این مدلی میشه

کد داخل صفحه هم اینجوری میشه

<html>
<head>
<meta name="viewport" content="width=device-width, minimum-scale=0.1"></head>
<body style="margin: 0px;">
<img style="-webkit-user-select: none" src="http://localhost/trainphp/gd.php">
</body>
</html>
پاسخ
تشکر شده توسط:
#4
باید کدتون رو ببینم. جایی که متد createThumbnail رو صدا زدین و کدهایی که بعدش اجرا میشه منظورمه.
پاسخ
تشکر شده توسط:
#5
این کل کدها

function createThumbnail(){
   
   if(isset($_POST['submit'])){
       if(isset($_FILES['picture']) && !empty($_FILES['picture']['name'])){
           

                           $pic_name = $_FILES['picture']['name'];

                           $pic_temp = $_FILES['picture']['tmp_name'];

                           $pic_size = $_FILES['picture']['size'];

                           $pic_type = $_FILES['picture']['type'];

                           $pic_error = $_FILES['picture']['error'];

                           

                           $validExt = array('image/jpeg','image/gif','image/png');

                           if($pic_error == 0 ){



                                   if($pic_size <= 16777216){

                                           if(in_array($pic_type,$validExt)){

                                                   if($pic_type == $validExt[0] ){

                                                           $Ext = '.jpg'; 

                                                   }

                                                   elseif($pic_type == $validExt[1]){

                                                           $Ext = '.gif';

                                                   }

                                                   elseif($pic_type == $validExt[2]){

                                                           $Ext = '.png';

                                                   }

                                                   $new_name = md5(rand(0,9999)).$Ext;

                                                    move_uploaded_file($pic_temp,''.$new_name);
                                                   $pic = $new_name;
                                                            $src = ImageCreateFromJPEG($pic);
                                                           

                                                          $width = imagesx($src).PHP_EOL;
                                                          $height = imagesy($src).PHP_EOL;
                                                          $x = $width/2 .PHP_EOL;
                                                          $y = $height/2 .PHP_EOL;
                                                         $img = ImageCreateTrueColor($x,$y);
                                                         imagecopyresampled($img, $src, 0, 0, 0, 0, $x, $y, $width, $height);
                                                         header('Content-Type: image/jpg');
                                                         imageJPEG($img,"thumb/".$pic);
                                                            
                                                         
                                                    

                                           }

                                           else{

                                                   echo  "این نوع فایل برای آپلود مجاز نیست";

                                           }



                                   }

                                   else{

                                           echo  "حجم فایل بیش از حد  مجاز است";

                                   }



                           }else{

                                   echo   "هنگام آپلود مشکلی پش آمده";

                           }



                   }else{

                       echo "لطفا یک عکس انتخاب کنید";

                   }
           
   
       }
   }




کد:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<form action="" method="post" enctype="multipart/form-data">
   <input type="file" name="picture">
   <input type="submit" name="submit">
   
</form>




createThumbnail();



دقیقا به همین ترتیب تو فایل نوشته شدن
پاسخ
تشکر شده توسط:
#6
این کد رو امتحان کنید:
function createThumbnail()
{
    if(isset($_POST['submit'])) {
        if(isset($_FILES['picture']) && !empty($_FILES['picture']['name'])) {
            $pic_name = $_FILES['picture']['name'];
            $pic_temp = $_FILES['picture']['tmp_name'];
            $pic_size = $_FILES['picture']['size'];
            $pic_type = $_FILES['picture']['type'];
            $pic_error = $_FILES['picture']['error'];
            $validExt = array('image/jpeg', 'image/gif', 'image/png');
            if($pic_error == 0 ){
                if($pic_size <= 16777216) {
                    if(in_array($pic_type, $validExt)) {
                        if($pic_type == $validExt[0]) {
                            $ext = '.jpg';
                        }
                        elseif($pic_type == $validExt[1]){
                            $ext = '.gif';
                        }
                        elseif($pic_type == $validExt[2]){
                            $ext = '.png';
                        }
                        $newName = md5(rand(0,9999)) . $ext;
                        move_uploaded_file($pic_temp, $newName);
                        $src = ImageCreateFromJPEG($newName);
                        $width = ImageSX($src);
                        $height = ImageSY($src);
                        $x = $width / 2;
                        $y = $height / 2;
                        $dst = ImageCreateTrueColor($x, $y);
                        ImageCopyResampled($dst, $src, 0, 0, 0, 0, $x, $y, $width, $height);
                        ImageJPEG($dst, 'thumb/' . $newName);
                        ImageDestroy($dst);
                        ImageDestroy($src);
                    }
                    else {
                        echo 'این نوع فایل برای آپلود مجاز نیست';
                    }
                }
                else {
                    echo 'حجم فایل بیش از حد  مجاز است';
                }
            }
            else {
                echo 'هنگام آپلود مشکلی پش آمده';
            }
        }
        else {
            echo 'لطفا یک عکس انتخاب کنید';
        }
    }
}
پاسخ
تشکر شده توسط: sm_pakdel
#7
وقتی عکس رو توی فایل ذخیره میکنید و مستقیماً نمایش نمیدین، نباید هدر Content-Type رو ست کنید.
پاسخ
تشکر شده توسط: sm_pakdel
#8
از همین الان عادت کنید کدها رو هم مرتب و خوانا بنویسید.
پاسخ
تشکر شده توسط: sm_pakdel
#9
(29-03-1394، 01:23 ق.ظ)ADMIN نوشته: از همین الان عادت کنید کدها رو هم مرتب و خوانا بنویسید.

معمولا مرتب مینویسم این کدو انقدر تست کردمو ویرایش کردم به هم ریخته بود
پاسخ
تشکر شده توسط:
#10
درست شد مرسی
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان