Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/05/2011, 20h22   #1
Membre régulier
 
Étudiant
Inscription : février 2007
Messages : 378
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 378
Points : 90
Points : 90
Par défaut Avoir la taille d'un fichier externe

Bonjour,

Y'a t-il moyen, en PHP, d'avoir la taille d'un fichier externe, dont j'ai le lien.
Par exemple : www.monlien.com/fichier.pdf
Est ce que je peux avoir la taille de ce fichier en php ? (ce fichier n'existe pas sur mon serveur)


merci d'avance.


...
Mo_Poly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 21h07   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Oui, fais un requête HTTP HEAD. Ainsi tu auras la taille du fichier sans avoir besoin de le télécharger.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 21h22   #3
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Avant de t'amuser avec les sockets essaient avec filesize( ), il y a peut-être un espoir car la doc dit :

Citation:
Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles et des gestionnaires supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat()
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 19/05/2011, 10h18   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Séb. Voir le message
Avant de t'amuser avec les sockets essaient avec filesize( ), il y a peut-être un espoir car la doc dit :
Code :
1
2
http:// -- https:// — Accès aux URLs HTTP(s)
Support de la fonction stat() 	Non
http://www.php.net/manual/fr/wrappers.http.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 10h34   #5
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
C'est ballot, faudrait donc jouer avec une requête HTTP HEAD.
Pour ça sockets ( http://php.net/sockets ), HttpRequest ( http://php.net/http ), peut cURL ( http://php.net/curl ) aussi.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 10h40   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Séb. Voir le message
C'est ballot, faudrait donc jouer avec une requête HTTP HEAD.
Pour ça sockets ( http://php.net/sockets ), HttpRequest ( http://php.net/http ), peut cURL ( http://php.net/curl ) aussi.
simplement avec get_headers

Code :
1
2
3
4
5
6
7
8
9
10
$url = 'http://fr2.php.net/images/php.gif';
$headers = get_headers($url, 1);
 
if(!empty($headers['Content-Length']))
{
    $size = $headers['Content-Length'];
    var_dump($size);
}
 
//string(4) "2523"
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 11h01   #7
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
get_headers( ) fait une requête HTTP GET et non HEAD.
La dernière fois que je l'avais testé il rapatriait tout le fichier, ceci dit aujourd'hui il semble que ce ne soit plus le cas malgré le GET encore utilisé.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 11h10   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
une fois qu'il a finit d'aller chercher l’entête le stream se coupe
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h50.


 
 
 
 
Partenaires

Hébergement Web