לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 20-11-2007, 14:32
צלמית המשתמש של fcf
  משתמש זכר fcf fcf אינו מחובר  
 
חבר מתאריך: 17.09.05
הודעות: 6,023
שלח הודעה דרך ICQ אל fcf שלח הודעה דרך MSN אל fcf Facebook profile
בעייה בפונקצייה לשינוי גודל התמונה

שלום
בעקבות האשכול הזה http://www.fresh.co.il/vBulletin/sh...ad.php?t=367378
החלטתי להוסיף למערכת שלי פונקצייה המשנה את גודל התמונות שהמשתמשים מוסיפים לאתר

לפני שבוע לקחתי את הפונקצייה ש"יובל_כ" פרסם שם והתאמתי אותה לצרכים שלי.....
לפני שבוע הרצתי אותה גם על קבצים והיא עבדה באופן מצויין.

היום אני מנסה כבר לממש את הפונקצייה על המערכת עצמה.
תחילה אני מעלה את התמונה שהמשתמש הכניס לשרת.

לאחר מכן אני קורא לפונקצייה בצורה הבאה:
קוד:
reduceImageSize("$absolute_path/$picturesname$ext","$absolute_path/$picturesname$ext",500,1000);


כאשר המחרוזת "$absolute_path/$picturesname$ext" היא בעצם מיקום התמונה
גם בדקתי את המחרוזת (באמצעות פקודת ECHO רגילה וגילידי שהמחרוזת אכן תקינה ומציינת נתיב של תמונה שאכן קיימת על השרת (upload/pictures/52.jpg - למשל)

הבעייה היא שכאשר אני מפעיל את הפונקצייה - התמונה עולה לשרת ולאחר מכן בעת הפעלת פונקציית שינוי הגודל מודפסות מלא שגיאות שאומרות שהנתיב שגוי וכי לא קיימת תמונה כזו - למרות שקיימת !

ציטוט:
Warning: imagesx(): supplied argument is not a valid Image resource in /home/.osen/uzone/uzone-il.net/gallery.php on line 143

Warning: imagesy(): supplied argument is not a valid Image resource in /home/.osen/uzone/uzone-il.net/gallery.php on line 144

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/.osen/uzone/uzone-il.net/gallery.php on line 200

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/.osen/uzone/uzone-il.net/gallery.php on line 202

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/.osen/uzone/uzone-il.net/gallery.php on line


מה עשיתי לא נכון ?

תודה
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 21-11-2007, 11:01
צלמית המשתמש של fcf
  משתמש זכר fcf fcf אינו מחובר  
 
חבר מתאריך: 17.09.05
הודעות: 6,023
שלח הודעה דרך ICQ אל fcf שלח הודעה דרך MSN אל fcf Facebook profile
בתגובה להודעה מספר 5 שנכתבה על ידי GreenBerret שמתחילה ב "הוא בעצם אומר שמשתנה שהוא..."

איך קוד המקור יעזור לך ... ?
לא רואים את תוכן הPHP בקוד המקור ...

אני ממש מבולבל !
תחילה אני מעלה קובץ לשרת - אל נתיב מסויים
לאחר מכן אני מפעיל את הפונקצייה על הנתיב הזה בדיוק והוא אומר לי שהתמונה הזאת היא לא תמונה ?

בכל מקרה .. הנה המקור של הדף עם השגיאות ...

קוד:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html dir="rtl"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1255"> <title>הוספת גלרייה לשלב 1</title> <link rel="stylesheet" type="text/css" href="http://uzone-il.net/includes/maincss.css"> </head> <body> <center><b>פרטי ההעלאה שלך</b></center><br><table align="center" width="97%" cellspacing="0" cellpadding="4" border="1" style="border-collapse: collapse;" bordercolor="gray" class="row"><tr><td bgcolor="skyblue">מספר</td><td bgcolor="skyblue">סטטוס</td><td bgcolor="skyblue">שם</td><td bgcolor="skyblue">קוד שגיאה</td></tr>upload/pictures/59.png<br /> <b>Warning</b>: imagesx(): supplied argument is not a valid Image resource in <b>/home/.osen/uzone/uzone-il.net/gallery.php</b> on line <b>144</b><br /> <br /> <b>Warning</b>: imagesy(): supplied argument is not a valid Image resource in <b>/home/.osen/uzone/uzone-il.net/gallery.php</b> on line <b>145</b><br /> <br /> <b>Warning</b>: imagecreatetruecolor() [<a href='function.imagecreatetruecolor'>function.imagecreatetruecolor</a>]: Invalid image dimensions in <b>/home/.osen/uzone/uzone-il.net/gallery.php</b> on line <b>201</b><br /> <br /> <b>Warning</b>: imagecopyresampled(): supplied argument is not a valid Image resource in <b>/home/.osen/uzone/uzone-il.net/gallery.php</b> on line <b>203</b><br /> <br /> <b>Warning</b>: imagepng(): supplied argument is not a valid Image resource in <b>/home/.osen/uzone/uzone-il.net/gallery.php</b> on line <b>214</b><br /> <tr> <td class="row">1</td><td><center><img src="images/theme/good.png"></center></td><td>40264027.png</td><td>---</td></tr> </table><br><center><b><a href="http://uzone-il.net/gallery.php?guideid=31&step=1">לחץ כאן בכדי להעלות תמונות נוספות</a></b></center></body> </html>


וכך אני מעלה את הקובץ לשרת , משנה את הרשאותיו ולאחר מכן קורא לפונקצייה לשינוי הגודל
קוד:
@copy($_FILES['userfile']['tmp_name'][$i-1], "$absolute_path/$picturesname$ext") or ($error3 = 1 and $error = 1); chmod("$absolute_path/$picturesname$ext", 0777); reduceImageSize("$absolute_path/$picturesname$ext","$absolute_path/$picturesname$ext",500,1000);


וזאת הפונקצייה לשינוי הגודל

קוד PHP:
 function reduceImageSize($orig_file$dest_file$max_x$max_y$trim KEEP_PROPORTIONS
{echo 
"$orig_file";
 
    
$image_info getImageSize($orig_file);
   
        
$orig_x imagesx($o_im) ;
        
$orig_y imagesy($o_im) ;
 
        
$dst_x 0;
        
$dst_y 0;
        
$src_x 0;
        
$src_y 0;
        
$dst_w 0;
        
$dst_h 0;
        
$src_w $orig_x;
        
$src_h $orig_y;
        
// calculate the image size limitations
        
if (($orig_x $max_x) && ($orig_y $max_y)) { // NO SCALE !!!
            
$dst_w $orig_x
            
$dst_h $orig_y 
        }
        else if (
$orig_y $max_y) {        // need to scale only X
            
$dst_w $max_x
            
$dst_h round($dst_w $orig_y $orig_x);
        }
        else if (
$orig_x $max_x) {        // need to scale only Y
            
$dst_h $max_y
            
$dst_w round($dst_h $orig_x $orig_y);
        }
        else {                             
// need to scale X and Y
            
if ($trim == KEEP_PROPORTIONS)
            {
                
$dst_w round($max_y $orig_x $orig_y); // limit according to max_y and proportion
                
if ($dst_w $max_x){
                    
$dst_w $max_x;                         // limit according to max_x
                
}
                
$dst_h round($dst_w $orig_y $orig_x); // limit according to max_x and proportion
                
if ($dst_h $max_y){
                    
$dst_h $max_y;                         // limit according to max_y
                    
$dst_w round($dst_h $orig_x $orig_y);
                }
            }
            elseif(
$trim == KEEP_SIZE)
            {
                
$dst_w $max_x;
                
$dst_h $max_y;
 
                if ( (
$orig_x $orig_y) > )
                { 
// width is more the height
                    
$src_w $src_h;
                    
$src_x round( ($orig_x $src_w) / 2);
                }
                else
                { 
// height is more then width
                    
$src_h $src_w;
                    
$src_y round( ($orig_y $src_h) / 2);
                }
            }
            else{
                return 
'unknown resize option';
            }
        }
        
$t_im imageCreateTrueColor($dst_w$dst_h);
 
        
imagecopyresampled$t_im$o_im$dst_x$dst_y$src_x$src_y$dst_w$dst_h$src_w$src_h );
        
$resOK false;
 
        switch (
$image_info['mime']) {
            case 
'image/gif':
                
$resOK imagegif($t_im$dest_file);
                break;
            case 
'image/jpeg':
                
$resOK imagejpeg($t_im$dest_file);
                break;
            case 
'image/png':
                
$resOK imagepng($t_im$dest_file);
                break;
            case 
'image/wbmp':
                
$resOK imagewbmp($t_im$dest_file);
                break;
            default:
                
$ermsg $image_info['mime'].' שמירת תמונה מוקטנת נכשלה ' .$orig_file;
                break;
        }
 
        if (!
$resOK)
            return 
$ermsg 'יצירת תמונה נכשלה - ' .$orig_file;
        
imageDestroy($o_im);
        
imageDestroy($t_im);
    
    return isset(
$ermsg)? $ermsg S_OK;

_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י fcf בתאריך 21-11-2007 בשעה 11:11.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 09:18

הדף נוצר ב 0.08 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר