Advertisement
Guest User

Untitled

a guest
May 10th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.52 KB | None | 0 0
  1. function remoteFileSize($url)
  2. {
  3.     $sch = parse_url($url, PHP_URL_SCHEME);
  4.         if (($sch != "http") && ($sch != "https") && ($sch != "ftp") && ($sch != "ftps")) {
  5.             return false;
  6.         }
  7.         if (($sch == "http") || ($sch == "https")) {
  8.             $headers = get_headers($url, 1);
  9.             if ((!array_key_exists("Content-Length", $headers))) { return false; }
  10.             return $headers["Content-Length"];
  11.         }
  12.         if (($sch == "ftp") || ($sch == "ftps")) {
  13.             $server = parse_url($url, PHP_URL_HOST);
  14.             $port = parse_url($url, PHP_URL_PORT);
  15.             $path = parse_url($url, PHP_URL_PATH);
  16.             $user = parse_url($url, PHP_URL_USER);
  17.             $pass = parse_url($url, PHP_URL_PASS);
  18.             if ((!$server) || (!$path)) { return false; }
  19.             if (!$port) { $port = 21; }
  20.             if (!$user) { $user = "anonymous"; }
  21.             if (!$pass) { $pass = "phpos@"; }
  22.             switch ($sch) {
  23.                 case "ftp":
  24.                     $ftpid = ftp_connect($server, $port);
  25.                     break;
  26.                 case "ftps":
  27.                     $ftpid = ftp_ssl_connect($server, $port);
  28.                     break;
  29.             }
  30.             if (!$ftpid) { return false; }
  31.             $login = ftp_login($ftpid, $user, $pass);
  32.             if (!$login) { return false; }
  33.             $ftpsize = ftp_size($ftpid, $path);
  34.             ftp_close($ftpid);
  35.             if ($ftpsize == -1) { return false; }
  36.             return $ftpsize;
  37.         }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement