Enregistre l'image d'un lien dans un dossier [Résolu]

Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
- - Dernière réponse : shadow578
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
- 10 sept. 2010 à 10:07
Bonjour,

Voilà j'ai un lien d'une image toute bête et j'aimerai que automatiquement le lien de mes images enregistre l'image dans dossier que j'aurais indiquer.

Exemple:
http://www.fredzone.org/wp-content/uploads/2009/09/31052009windows1.jpg

Le php fasse un clic droit --> enregistrer ^^

et que l'image maintenant se retrouve dans mon dossier.

Je pense que c'est tout bête mais je n'y arrive pas.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
3
Merci
Bon sachant que file_put_contents replace fopen, fwrite et fclose j'ai décider de l'ai utilisé ^^

<?

$url   = "lien de l'url";
$chemin = "lien dossier";

$nomImage = 'test';

 
if(!$img = file_get_contents($url)) { 
  die('pas de fichier');
}

if(!$f = fopen($chemin.'/test.jpg', 'w')) { 
  die('Ouverture du fichier impossible'); 
} 

if (fwrite($f, $img) === FALSE) { 
  die('Ecriture impossible'); 
} 


fclose($f);  

?>


Et sa marche ! En revanche j'aurai aimé remplacer '/test.jpg' par une variable ($nomImage) mais dés que je remplace par une variable sa ne marche plus.. HELP ^^

Merci shadow578 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de shadow578
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
0
Merci
Salut,

En fait, c'est la réponse qui est toute bête... C'est impossible : PHP est exécuté sur le serveur, pas sur le navigateur.
Par ailleurs, même avec Javascript, c'est impossible : l'action d'enregistrer un fichier sur son disque dur doit OBLIGATOIREMENT être manuelle. Ceci, pour des raisons EVIDENTES de sécurité (tiens, je te mets un lien et hop, tu te retrouves avec un virus ou un trojan sur ton pc, comme c'est amusant).

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Commenter la réponse de neigedhiver
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
0
Merci
Pourtant en fouillant sur la toile, j'ai trouvé des scripts qui permettait l'enregistrement d'image dans un dossier en rentrant une url...

Je n'ai pas encore tout maîtriser le code mais bon sa ma l'air faisable.

Exemple: l'upload d'image sur sont disque est possible, et ce que j'ai trouvé est assez similaire sauf que c'est en rentrant un url est non un fichier.

Qu'en pense tu ?
Commenter la réponse de shadow578
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
0
Merci
J'en pense que je maintiens ma position, pour les raisons que j'ai déjà énoncées.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Commenter la réponse de neigedhiver
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
0
Merci
Salut,

J'ai comme l'impression que tu n'exprimes pas bien ce que tu souhaites.

Si comme je le sens il s'agit, à partir de ton serveur web, d'enregistrer, sur ce même serveur web, une image distante dont tu connais l'url, alors oui, c'est possible, et je ne vois pas où tu bloques.
Un simple file_get_contents(url_de_l_image);, suivi d'un file_put_contents() devraient suffire.

Bien évidemment, si l'url est obtenue via une formulaire il faudra s'assurer de sa validité, son contenu, etc ...


Cordialement,

Kohntark -
Commenter la réponse de kohntark
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
0
Merci
C'est exactement çà kohntark, alors j'ai essayé ce que tu m'as dit. Le problème c'est que j'ai du mal à utiliser file_put_contents.

J'ai essayé çà mais sa me dit des erreurs:

<?php
$chemin = 'chemin du dossier de destination';

$donnee = file_get_contents('url de l'image');
file_put_contents($chemin, $donnee);
?>


J'ai lu sur internet comment marche file_put_contents mais je n'ai toujours pas compris...
Commenter la réponse de shadow578
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
0
Merci
Ah ouais, c'était pas clair... :/

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Commenter la réponse de neigedhiver
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
0
Merci
Je ne comprend vraiment pas comment marche file_put_contents sa ne me copie pas du tout l'image dans mon dossier...
Commenter la réponse de shadow578
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Dernière intervention
27 juin 2011
0
Merci
C'est bon sa marche ! Ce n'était qu'une histoire de slash dans mon url ^^

Merci à vous deux :)
Commenter la réponse de shadow578

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.