Soucis pour écrire un fichier


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Soucis pour écrire un fichier

Message le Jeu Mai 06, 2010 9:14

Bonjour,

J'essaye de récupérer des images distantes (sur un autre serveur) pour les placer sur le mien. Mon soucis est que parfois je n'obtiens pas la totalité de l'image (1/3, 1/2 voir 3/4) même si la limite de $lecture (90480) est au maximum .
Code: Tout sélectionner
/*Mon formulaire*/
<?php
if(isset($_POST["Valider"]))
{
$url_image = trim($_POST["url"]);
//ouverture du fichier en lecture seul
$fichier_a_ouvrir = fopen($url_image, "r" );
//teste l'existence du fichier
if($fichier_a_ouvrir)
{
//lecture du fichier avec limite
$lecture = fread($fichier_a_ouvrir, 90480);
$fichier_a_ouvrir_2 = fopen('../repertoir/'.$url_image.'.jpg', "wb" );
//écriture du fichier
$ecriture = fwrite($fichier_a_ouvrir_2, $lecture);
}
//on ferme isset
}
else
{
echo 'Le fichier <b>'.$url_image.'</b> est introuvable!';
}
?>


Qu'est ce qui cloche ?

Merci


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Re: Soucis pour écrire un fichier

Message le Jeu Mai 06, 2010 13:04

Voici le code que j'utilise pour récupérer des images distantes, en espérant que ça puisse t'aider :)

Code: Tout sélectionner
$content_dir = 'images/';
$contentimage = file_get_contents('http://www.example.com/image.jpg');
if ( !empty($contentimage) ) {
   $createfile = fopen($content_dir.$name_file, 'w');
   if ( !fputs($createfile, $contentimage) ) {
      $erreur = 'Impossible de créer l\'image '.$content_dir.$name_file;
      }
   fclose($createfile);
   }
else {
   $erreur = 'Impossible de récupérer l\'image distante.';
   }


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Soucis pour écrire un fichier

Message le Jeu Mai 06, 2010 14:50

Merci, je vais voir ce que ça donne :) .


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Re: Soucis pour écrire un fichier

Message le Jeu Mai 06, 2010 15:00

Je viens de voir que dans le code que je t'ai donné, la variable $name_file n'était pas définie, mais tu aura compris qu'elle doit contenir le nom avec lequel tu veux que l'image soit enregistrée sur ton serveur.

Code: Tout sélectionner
$name_file = 'monimage.jpg';


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Soucis pour écrire un fichier

Message le Ven Mai 07, 2010 11:00

Salut,

Je n'ai pas encore testé ton code mais à vue d'oeil, ton code ressemble au mien. Il y a juste la façon d'ouvrir le fichier distant qui change. Je vais voir ce que ça donne avec file_get_contents .
Merci


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Soucis pour écrire un fichier

Message le Ven Mai 07, 2010 13:11

Re ^^,

Je viens de tester ton code et l'adapter pour mes besoins et ça fonctionne nickel :) .

Merci NxtGen


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: enams90 et 0 invités