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

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

mlnn 02-03-06 22:34

[PHP] האם אפשר לגלות את הגודל של קובץ URL בלי להוריד אותו?
 
השאלה בעצם בכותרת.

נניח שיש לי את התמונה:
http://www.hosts.co.il/forums/images...logo_white.gif


האם אפשר לדעת מה הגודל שלה? בלי להוריד אותה למחשב?
(בMb\KB)

תודה. |קורץ|

דוד לוי 02-03-06 23:18

בס"ד


האם אפשר זו לא השאלה כי זה ברור שזה אפשרי, הרי לכל תמונה יש לה properties ושם כתוב את נפתח התמונה.

השאלה היא כיצד עושים ולא האם אפשרי...
חוץ מזה שגם אני אשמח לדעת...

AFI 02-03-06 23:26

אפשרי, אתה צריך לעבוד עם המשתמש FILE
אבל תן יותר מידע על השימוש של זה כדי שאני יוכל להסביר לך יותר טוב

בניה 02-03-06 23:32

בס"ד


סביר להניח שאתה רוצה לבדוק בPHP את הגודל של תמונה מסוימת שנמצאת על שרת אחר, נכון?
אפשר להשתמש בfilesize() על הURL הקובץ.
http://il2.php.net/manual/en/function.filesize.php

Tomer 02-03-06 23:35

http://il2.php.net/manual/en/function.getimagesize.php

getimagesize();

Deagly 02-03-06 23:37

ציטוט:

נכתב במקור על ידי Atom-Bomb

הפונקציה מביאה לך את הרוחב ואת הגובה של התמונה
אך לא את גודל התמונה ..

LinuxServ 02-03-06 23:45

ציטוט:

נכתב במקור על ידי Deagly
הפונקציה מביאה לך את הרוחב ואת הגובה של התמונה
אך לא את גודל התמונה ..

ראסמי :-)

Tomer 03-03-06 00:41

ציטוט:

נכתב במקור על ידי Deagly
הפונקציה מביאה לך את הרוחב ואת הגובה של התמונה
אך לא את גודל התמונה ..

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

BlueNosE 03-03-06 07:31

מה הבעיה עם getsize? לא פועלת על URL?

בניה 03-03-06 10:27

ציטוט:

נכתב במקור על ידי בניה
בס"ד


סביר להניח שאתה רוצה לבדוק בPHP את הגודל של תמונה מסוימת שנמצאת על שרת אחר, נכון?
אפשר להשתמש בfilesize() על הURL הקובץ.
http://il2.php.net/manual/en/function.filesize.php

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

mlnn 03-03-06 12:28

ציטוט:

נכתב במקור על ידי BlueNosE
מה הבעיה עם getsize? לא פועלת על URL?

^^^^^^^

צודק, היא לא פועלת.

mlnn 03-03-06 18:59

נו מה קורה? היתי בטוח שיש פה תותחים משהו לא מהעולם.
בכל מקרה, מצאתי פתרון:

קוד:

function remote_file_size ($url)
{
  $head = "";
  $url_p = parse_url($url);
  $host = $url_p["host"];
  $path = $url_p["path"];


  $fp = fsockopen($host, 80, $errno, $errstr, 20);
  if(!$fp)
  { return false; }
  else
  {
      fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
      fputs($fp, "HOST: dummy\r\n");
      fputs($fp, "Connection: close\r\n\r\n");
      $headers = "";
      while (!feof($fp)) {
          $headers .= fgets ($fp, 128);
      }
  }
  fclose ($fp);
  $return = false;
  $arr_headers = explode("\n", $headers);
  foreach($arr_headers as $header) {
      $s = "Content-Length: ";
      if(substr(strtolower ($header), 0, strlen($s)) == strtolower($s)) {
          $return = substr($header, strlen($s));
          break;
      }
  }
  return $return;


}


print ("Google logo is " . remote_file_size
("http://www.google.it/intl/it_it/images/logo.gif") . " bytes!");

מישהו מעוניין להתנדב ולהסביר בעצם מה הולך פה?

בניה 04-03-06 20:59

בס"ד



סקריפט חמוד למדי.
כשהמחשב מבקש קובץ משרת הוא קודם כל מקבל מידע על הקובץ ואחד מהדברים שהוא מקבל זה את הגודל של הקובץ.
אז מה שהסקריפט עושה זה פותח התקשרות עם שרת ומבקש את הקובץ ומקבל את המידע עליו ואז סוגר את ההתקשרות ואז מוצא במה שהשרת שלח לו את הגודל ומחזיר אותו.

mlnn 04-03-06 21:24

ציטוט:

נכתב במקור על ידי בניה
בס"ד



סקריפט חמוד למדי.
כשהמחשב מבקש קובץ משרת הוא קודם כל מקבל מידע על הקובץ ואחד מהדברים שהוא מקבל זה את הגודל של הקובץ.
אז מה שהסקריפט עושה זה פותח התקשרות עם שרת ומבקש את הקובץ ומקבל את המידע עליו ואז סוגר את ההתקשרות ואז מוצא במה שהשרת שלח לו את הגודל ומחזיר אותו.

תודה :)


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

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