הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP]איך לגלות אם קיימת תמונה בשרת אחר? (https://hosts.co.il/forums/showthread.php?t=54623)

חיים 04-10-07 18:43

[PHP]איך לגלות אם קיימת תמונה בשרת אחר?
 
אני רוצה לגלות אם למשל התמונה:
http://mmarket.ru/img/admin_avatar.gif
האם היא קיימת או שהיא נמחקה או כל דבר אחר
יש למישהוא ראיון?דרך?כיוון?
תודה מראש.

Ron | CSite.co.il 04-10-07 19:00

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

Cream 04-10-07 19:15

ftp_nlist לדעתי אם תשתמש ב]ונקיציה הזאת אז זמן טעינת העמוד יעלה לך משמעותית..לא שווה לדעתי להשתמש בזה.

חיים 04-10-07 19:35

ציטוט:

נכתב במקור על ידי Cream (פרסם 562977)
ftp_nlist לדעתי אם תשתמש ב]ונקיציה הזאת אז זמן טעינת העמוד יעלה לך משמעותית..לא שווה לדעתי להשתמש בזה.

זה ברור שלא שווה השאלה היא מה הדרך היותר שווה חח:-D

בניה 04-10-07 19:37

אתה יכול להשתמש בFSOCKOPEN כדי לבקש את התמונה בHTTP ואז לראות אם הקוד תגובה = 200, אם לא היא לא קיימת.

חיים 04-10-07 19:54

ציטוט:

נכתב במקור על ידי בניה (פרסם 562987)
אתה יכול להשתמש בFSOCKOPEN כדי לבקש את התמונה בHTTP ואז לראות אם הקוד תגובה = 200, אם לא היא לא קיימת.

עשיתי אחי אבל הוא מחזיר לי שגיעה מוזרה:
שגיעה מס' 2089866642:
קוד:

Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?

בניה 04-10-07 21:34

תראה איך הם עשו את זה בדוגמאות קוד לפונקציה fsockopen בphp.net

חיים 05-10-07 14:02

ציטוט:

נכתב במקור על ידי בניה (פרסם 563061)
תראה איך הם עשו את זה בדוגמאות קוד לפונקציה fsockopen בphp.net

עשיתי בערך ככה כמו בדוגמה, עשיתי ככה:
PHP קוד:

$fp fsockopen($user->info['avatar'], 80,$errno$errstr30);
 if (!
$fp) {
  echo 
$errno.$errstr;
     
$avatar $user->info['avatar'];
 }else
  
$avatar "images/no_avatar.jpg"

אתה רואה פה שגיעה?טעות?בעיה?

Tomer 05-10-07 14:10

אתה מתחבר ל host (למשל http://www.bla.com/picture.jpg, אזי ש www.bla.com זה ההוסט) ועם fwrite ל $fp אתה עושה GET picture.jpg HTTP 1/1 (משהו כזה) ואם אתה מקבל קוד 200 - אזי התמונה קיימת, אחרת - היא לא.

"אבל לא הבנתי" - תקרא. www.php.net/fsockopen

Striker 05-10-07 17:49

נראה לי שאפשר גם לקבל את הגובה\רוחב של התמונה ואם הם 0 אז היא לא טובה :P

חיים 05-10-07 18:27

ציטוט:

נכתב במקור על ידי Striker (פרסם 563447)
נראה לי שאפשר גם לקבל את הגובה\רוחב של התמונה ואם הם 0 אז היא לא טובה :P

תודה אחי אני ישתמש כנראה בשיטה שלך :D
תודה לכולם שניסו לעזור :D
בכל זאת אני עדיין רוצה לדעת מה לוקח יותר משאבים הפונקצייה fsocketopen או getimagesize?
תודה מראש:-D

Daniel 05-10-07 18:56

ברור ש-getimagesize, כי היא מגלה פרטים.
fsocketopen רק שולח אות חיים ובודק אם יש תשובה.

חיים 05-10-07 18:58

ציטוט:

נכתב במקור על ידי MasterT (פרסם 563468)
ברור ש-getimagesize, כי היא מגלה פרטים.
fsocketopen רק שולח אות חיים ובודק אם יש תשובה.

אחי יש מצב שאיזה דוגמה קטנה ממך לשימוש בישבילי בפונקצייה הזאת fsocketopen? כאילו איך אני צריך להשתמש בה?לא הבנתי משום מקום בכלל לא הבנתי כלום


כל הזמנים הם GMT +2. הזמן כעת הוא 08:34.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ