Accueil > > > CONTROLE DE LA TAILLE D'UN FICHIER DISTANT
CONTROLE DE LA TAILLE D'UN FICHIER DISTANT
Information sur la source
Description
ce code est la version (nexen.net) qui marche pour les sites heberges (hote virtuel) et simplifie pour etre ici d'un tel comme dans phpBB. pas de commentaire car tard et fatigué mais je reviendrai si vous avez des questions. il y as trois fonctions is_img qui verifie si l'url rentre se termine par gif ou jpg ca evite de se connecter pour rien mais bon .gif marche. on peut toujours rechercher par expression reguliere... is_size c'est la fonction en elle meme add_http rajoute http:// si ca n'y est pas le morceau de code c'est pour montrer une utilisation
Source
- function is_img($this){
- $res = false;
- if(eregi(".(jpg|gif)$",$this))
- {
- $res = true;
- }
- return $res;
- }
-
- function is_size($this){
- $res = false;
- if (eregi('^(http:\/\/)[a-z0-9\-]+\.[a-z0-9\-]+\.[a-z]+',$this,$reg))
- {
- $host = $reg[0];
- }
-
- $path = explode($reg[0]."/",$this);
- $limit_size = 21000; // en gros 20ko mais vous pouvez changer
- $fp = fsockopen($host, 80, &$errno, &$errstr, 30);
-
- if(!$fp)
- {
- $res = false;
- }
- else
- {
- fputs($fp,"HEAD $host/$path[1] HTTP/1.0\r\n");
- fputs($fp,"Connection: close \r\n\r\n");
-
- while(!feof($fp))
- {
- $buffer = fgets($fp, 1024);
- $split = explode(' ', $buffer);
- if($split[0]=="Content-Length:")
- {
- $size=(int)$split[1];
- if ($size < $limit_size)
- {
- $res = true;
- }
- break;
- }
- }
- fclose($fp);
- }
- }
-
- function add_http($this){
- if(eregi("^http://", $this))
- {
- return $this;
- }
- else
- {
- $this = "http://".$this;
- return $this;
- }
- }
-
-
- /////le morceau de code
- .....
- if ($logo!='')
- {
- $logo = add_http($logo);
- if (is_img($logo))
- {
- if (!is_size($logo))
- {
- $error++;
- $error_level[$error] = "Le logo ne sera pas affiché. Vérifiez le poids de l'image et la validité du lien.";
- $logo = '';
- }
- }
- else
- {
- $error++;
- $error_level[$error] = "Le logo ne sera pas affiché. Format de fichier invalide.";
- $logo = '';
- }
- }
- ......
-
- //pour utiliser error_level pour ceux qui se demande a quoi ca sert
-
- if ($error > 0)
- {
- echo "<font color=\"#ff3300\" size=\"+1\">";
- for($i=1; $i<=$error; $i++)
- {
- echo "$error_level[$i]\n<br>";
- }
- echo "</font>\n<br>\n<br>";
- }
- .....
function is_img($this){
$res = false;
if(eregi(".(jpg|gif)$",$this))
{
$res = true;
}
return $res;
}
function is_size($this){
$res = false;
if (eregi('^(http:\/\/)[a-z0-9\-]+\.[a-z0-9\-]+\.[a-z]+',$this,$reg))
{
$host = $reg[0];
}
$path = explode($reg[0]."/",$this);
$limit_size = 21000; // en gros 20ko mais vous pouvez changer
$fp = fsockopen($host, 80, &$errno, &$errstr, 30);
if(!$fp)
{
$res = false;
}
else
{
fputs($fp,"HEAD $host/$path[1] HTTP/1.0\r\n");
fputs($fp,"Connection: close \r\n\r\n");
while(!feof($fp))
{
$buffer = fgets($fp, 1024);
$split = explode(' ', $buffer);
if($split[0]=="Content-Length:")
{
$size=(int)$split[1];
if ($size < $limit_size)
{
$res = true;
}
break;
}
}
fclose($fp);
}
}
function add_http($this){
if(eregi("^http://", $this))
{
return $this;
}
else
{
$this = "http://".$this;
return $this;
}
}
/////le morceau de code
.....
if ($logo!='')
{
$logo = add_http($logo);
if (is_img($logo))
{
if (!is_size($logo))
{
$error++;
$error_level[$error] = "Le logo ne sera pas affiché. Vérifiez le poids de l'image et la validité du lien.";
$logo = '';
}
}
else
{
$error++;
$error_level[$error] = "Le logo ne sera pas affiché. Format de fichier invalide.";
$logo = '';
}
}
......
//pour utiliser error_level pour ceux qui se demande a quoi ca sert
if ($error > 0)
{
echo "<font color=\"#ff3300\" size=\"+1\">";
for($i=1; $i<=$error; $i++)
{
echo "$error_level[$i]\n<br>";
}
echo "</font>\n<br>\n<br>";
}
.....
Conclusion
Voila bon c'est pas le code du siecle (voir au dessus ) mais ca peut servir pour une section membre, un forum enfin un truc perso quoi. Pour les mauvaises langues qui pensent que je commentes pas parce que c'est pas de moi he bien desole mais il est 3h22. je mange du code depuis 8 h ce matin et j'ai pas envie de raconter des betises.( et pis j'suis fatigué aussi ) Je vais pousser aussi pour l'upload de fichiers distant par cette voie tres bientot mais bon vous pouvez toujours voir phpBB il le fait tres bien.
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATIONSQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATION par christian
Cette fonctionnalité à vue le jour dans Ado.Net 2.0 et s'appuie sur SQL Server 2005 (et plus) même si elle fonctionne avec SQL Server 2000. Le principe de fonctionnement côté applicatif est assez simple, on fournit une requête et lorsque le résultat d...
Cliquez pour lire la suite de l'article par christian [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
Comparez les prix

HTC Magic
Entre 429€ et 429€
|