שאלה מוזרה....

patael

New member
שאלה מוזרה....

אני תמונה מהמשתמש GIF או JPG עכשיו... האם אפשר בשרת לשנות את המימדים שלה... נניח שהגודל שלה הוא....400X350 ואני רוצה להקטין אותה ל300X250... מוזר? אפשר? עוד שאלה, האם אפשר לשנות שם של קובץ המשתמש מעלה לשרת? איך? תודה, אבי.
 

orenphp

New member
אפשר הכל..

בניתי במיוחד בשביל דברים כאלו כמה פונקציות נוחות (שכרגע תומכות ב jpg וב gif). צירפתי את הפונקציות בקובץ, ואני אסביר בקצרה את תפקידן:
1. imagereduction($imagepath, $picsize);​
פונקציה זו מקבלת את הpath לקובץ (בד"כ שיושב על שרת אחר) ואת הpicsize שזהו הגודל המקסימלי של הרוחב בתמונה - כאשר האורך מתקצר על פיה (זוהי פונקציה שיוצרת תמונה פרופרציונית על מנת לא להרוס את התמונה כאשר נכווץ אותה בהמשך.
2. resize_and_save_image($src_file,$imagename);​
פונקציה זו מקבלת את את קובץ המקור src_file (הקובץ אשר אותו נרצה לכווץ) ואילו imagename זה השם של הקובץ בלבד (לזה כתבתי פונקציה - אבל שכל אחד ידאג לקחת מה שהוא רוצה ובדרך היעילה ביותר שהוא חושב שהוא יכול - הכוונה היא: http://www.oren.co.il/index.php - אז כאן שם הקובץ הינו index.php) שימו לב שהפונקציה השנייה משתמשת בתוכה בראשונה, ככה שבעצם הכיווץ נעשה לפיה בצורה פרופרציונית באופן מוחלט!
3. find_type($text);​
פונקציה זו פשוטה ביותר, היא מחזירה האם התמונה gif או jpg (כמובן שניתן לעשות תמיכה בעוד סוגים - לי לא היה שימוש באותו התקופה) זהו זה, תרגישו חופשי לתת לי פידבקים בעניין היעילות בקבצים, דרכים לשיפור וכל מה שאתם חושבים. דוגמא לשימוש:
include "image_functions.php"; $saveimgto = "Images/"; $image_max_size = 80; $picture = "http://www.oren.co.il/image1.jpg"; $imagename = "image1.jpg"; resize_and_save_image($picture, $imagename);​
מקווה שזה יעזור למישהו. אורן.
 

patael

New member
עוד דבר אחד קטן.....

צא ציינת איך עושים RENAME לקובץ? תודה רבה, אבי.
 

orenphp

New member
די פשוט...

rename("original_file_name", "new_file_name");​
בהצלחה, אורן.
 

orenphp

New member
הא, משהו נוסף...

שאתם מורידים אליכם את הקובץ המצורף תשנו את שמו ל: image_functions.php (כפי שתראו שעשיתי include לזה בדוגמא) הקובץ ישמר אצלכם על השרת במחיצה שתרצו - אל תשכחו לעשות "הרשאה" מתאימה על מנת ששמירת הקובץ תתאפשר.
 

orenphp

New member
שיט, הסבר קטן... ../images/Emo8.gif

"הקובץ ישמר אצלכם על השרת במחיצה שתרצו" - התכוונתי לקובץ אשר ישמר באמצעות השימוש בפונקציה resize_and_save_image, לא אל הקובץ images_functions.php. זה הכל.
 

patael

New member
ת´אמת....

קצת קשה לי עם הסקריפט שלך... אני אעזר ב PHP.NET תודה רבה לך....
 

orenphp

New member
חבל שזה לא מובן

אתה מוזמן להוריד את הקוד ולשאול אותי שאלות עליו - זה בהחלט קוד טוב ויעיל - אתה יכול לכווץ באופן פרופרציוני תמונות ושמור אותם על השרת שלך ביתר קלות ובמהירות. אם יש דברים לא מובנים, אתה מוזמן להעלות את הקוד לכאן, ולהגיד בדיוק מה לא מובן ובאילו שורות ואני אשמח לעזור. אורן.
 

patael

New member
אפשר לינק ל GD והסבר קצר?

אני רוצה להוריד את ה GD הזה... אני צריך לינק להורדה... אולי גם הסבר קצר, תודה רבה.
 

orenphp

New member
לינקים והסבר

הנה לינק של php.net כללי:
http://www.php.net/manual/en/ref.image.php​
לינק ספציפי להורדה של GD:
http://www.boutell.com/gd/​
זהו זה, ההתקנה פשוטה (תקרא בלינק השני), אתה יכול להתחיל לעבוד עם הפונקציות הקיימות. בהצלחה, אורן.
 
GD-LIB ו- PHP

GD-LIB בא ביחד עם PHP כך שלא צריך להוריד אותה. חשובלעבוד עם אותה גירסה שבאה עם ה-PHP. דבר שני, כדי שתעבוד צריך לתקן שורה ב-PHP.INI אחרת זה לא יעבוד. דבר שלישי, צריך לשים לב אם יש צורך בפונטים (למשל דיאגרמות עם הסברים). ודבר אחרון, כדאי לנסות קודם עם סקריפט פשוט כדי לראות עם הכל עובד. בהצלחה
 
למעלה