begin process at 2012 05 30 22:38:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Obtenir taille fichier distant sans télécharger le fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Obtenir taille fichier distant sans télécharger le fichier

samedi 4 décembre 2004 à 20:56:27 | Obtenir taille fichier distant sans télécharger le fichier

zzzzzz

Membre Club
salut à tous :)

En fait j'ai un code pour obtenir la taille d'un fichier distant. cad:

$buffer = '';
if ($fd = fopen ($url, "r")) {
while (!feof($fd)) {
$buffer .= fgets($fd, 4096);
}
fclose ($fd);
}
$size = strlen($buffer);


Ca marche impec sauf que des qu'il s'agit de fichier de 50 mo. :)
Il me semble donc apèrs recherche que en fait ce code consiste à telecharger le fichier coté serveur pour analyser la taille... CE QUI EST HORRIBLE! Surtout quand notre hebergeur pro limite la bande passante. Donc télécharger a chaque fois un fichier de 50 mo juste pour en connaitre la taille.. C ... gloups... indescriptible. llol

J'ai trouver ce code mais je n'arriver pas a le faire fonctioné:

function GetDistantFileSize($host , $port , $path){
$size=-1;
if($fp=fsockopen($host, $port)){
fputs("HEAD $path HTTP/1.0\r\n\r\n");
while(!feof($fp)){
$buffer=fgets($fp, 1024);
$split=explode(' ', $buffer);
if($split[0]=="Content-Length:"){
$size=(int)$split[1];
break;
}
}
fclose($fp);
}
return($size);
}
$host = 'http://unsite.free.fr';
$port = 80;
$path = '/vid/Diablus.com_36.avi';
echo GetDistantFileSize($host , $port , $path);

Mais cela m'echo -1 ? :\ J'ai surrement du me gouré dans les paramaetres mais je vois pas ou... En tout cas ce code si il fonctionnerai me permettrai d'évité la méthode lourde pour obtenir la taille d'un fichier distant qui usurpe la bande passante pour rien :\.

Merci d'avance¨! :)

----------------------------------------------------

Site en developpement : www.diablus.com
dimanche 5 décembre 2004 à 10:40:37 | Re : Obtenir taille fichier distant sans télécharger le fichier

Anthomicro

Salut ;-)

utilises la fonction filesize :

Fonction filesize

cette fonction ne fonctionne qu'avec php5 pour les fichiers distants.

a ++

[ Lien ] : entraide, dépannage et vulgarisation informatique
dimanche 5 décembre 2004 à 12:28:32 | Re : Obtenir taille fichier distant sans télécharger le fichier

quiaimeflash

Salut !
Tiens, peut etre la solution ?
[ Lien ]
dimanche 5 décembre 2004 à 14:14:13 | Re : Obtenir taille fichier distant sans télécharger le fichier

zzzzzz

Membre Club
Merci à vous ;-)

Malheuresement Anthomicro mon hebergeur n'est pas encore passé à php 5 :-\ Pour quiaimeflash c biewn ca! Mais a marche po :\ lol

J'ai essayé.


function remote_file_size($url){

$firstCut = substr($url, 7, strlen($url));
$firstSlashPOS = strpos($firstCut, "/");
$host = substr($firstCut, 0, $firstSlashPOS);
$filename = substr($firstCut, $firstSlashPOS, strlen($firstCut));

$fp = fsockopen ($host, 80);
fputs ($fp, "GET $filename HTTP/1.1\r\nHost:
jboy.dyn.dhs.org\r\n\r\n");

for($i=0; $i < 10; $i++) {
$buffer .= fgets ($fp, 2000);
}
if(strstr($buffer, "Content-Type")) {
fputs ($fp, "\r\n\r\n\r\n");
fclose ($fp);
}
$contentLengthPOS = strpos($buffer, "Content-Length");
$buffer = substr($buffer, $contentLengthPOS+16);
$newLinePOS = strpos($buffer, "\n");
$buffer = substr($buffer, 0, $newLinePOS);

$answer = sprintf("%".strpos($buffer, ".").".1f", $buffer/1024);

if($answer > 1024) {
$answer = sprintf("%".strpos($answer, ".").".1fmb",
$answer/1024);
} else {
$answer .= "kb";
}
$formatAnswer = str_replace(' ','',$answer);

return $formatAnswer;

}
echo remote_file_size("http://teamfod.free.fr/vid/Diablus.com_36.avi");

Mais rien à faire :\ il m'affiche 0.0kb

----------------------------------------------------

Site en developpement : www.diablus.com
vendredi 19 août 2005 à 19:13:04 | Re : Obtenir taille fichier distant sans télécharger le fichier

alfredben

Salut
bon ca resort un vieux post mais bon
J'ai trouver comment faire marcher le script et je l'ai un peu arrangé

 function filesize_url($url,$port){
 $size=-1;
 $site=substr($url,7,strpos(substr($url,7),'/'));
 $errstr='';
 if($fp=@fsockopen($site, $port,$errno,$errstr)){
   fputs($fp,"HEAD $url HTTP/1.0\r\n\r\n",strlen("HEAD $url HTTP/1.0\r\n\r\n"));
   while(!feof($fp)){
    $buffer=fgets($fp, 1024);
    $split=explode(' ', $buffer);
    if($split[0]=="Content-Length:"){
     $size=(int)$split[1];
     break;
    }
   }
   fclose($fp);
  }
 if($errstr!='' || $size==-1) return false;
   return $size;
}

ca s'utilise par exemple  print ( filesize_url("http://www.monsite.com/toto.zip",80))
voila. ca marche impec



Cette discussion est classée dans : fichier, buffer, taille, distant, obtenir


Répondre à ce message

Sujets en rapport avec ce message

Recherche : Taille d'un fichier distant [ par juki_webmaster ] Bonjour,Dans le cadre d'un projet personnel, je cherche un code php (ou fonction) pour pouvoir recuperer la taille d'un fichier distant.J'ai beau cher Taille d'un fichier situé dans un serveur distant [ par ala_daly ] Salut tout le monde, je veux savoir comment récupérer la taille d'un fichier situé dans un serveur distant sanchant que la fonction file_size() ne le Taille de fichiers et téléchargement [ par troudbal ] Bonjour, j?aimerai savoir comment fonctionne PHP quand on télécharge un fichier vers le serveur web par un POST. A quel moment se fait le contrôle de Ouvrir fichier distant [ par donbesada ] Salut à tous!J'ai besoin de votre aide pour ouvrir un fichier distant en php. Je sais que la fonction "fopen" le permet mais je ne connais pas sa synt Lister fichier d'un repertoire distant [ par blat ] Bonjour,Je voudrais lister des fichiers d'un repertoire distant. En gros je veux qu'a partir de www.monsite.com/mapage.php je puisse avoir la liste de connaitre la taille d'un fichier sans l'uploader [ par cacoun ] Salut à tous,Voici mon pb:je désire connaître la taille d'un fichier SANS l'uploader.Malgré mes tentatives avec max-file-size, je n'arrive pas à trouv Lire fichier XML distant proteger par htaccess [ par jordangj ] Salut à tousJe voudrais savoir comment je peut lire un fichier XML situer sur un serveur distant proteger pas un htaccess ?Une a Transfert de fichier (fsockopen) [ par Rochon ] Bonjour à tous,J'ai fait un code pour transferer un fichier depuis une url et le copie sur le compte où se trouve le php. Il y a une option lorsque le effacer un fichier dans un répertoire distant [ par Fabrizio61 ] Salut à tous.Peut-on effacer un fichier dans un répertoire distant (site distant) ?D'avance merci. Getimagesize [ par KingLouis ] Bonjour ça doit etre tout con mais je comprends pas .Je fais un $thetaille = getimagesize("../photos/$url");( en etant sur de la source ) et quand je


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales