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

shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 9 sept. 2010 à 15:00 - Dernière réponse : shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention
- 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 

9 réponses

Répondre au sujet
shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 10 sept. 2010 à 10:03
+3
Utile
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 ^^
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de shadow578
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 9 sept. 2010 à 17:36
0
Utile
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
shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 9 sept. 2010 à 22:17
0
Utile
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
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 9 sept. 2010 à 22:18
0
Utile
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
kohntark 3708 Messages postés lundi 5 juillet 2004Date d'inscription 27 avril 2012 Dernière intervention - 10 sept. 2010 à 07:13
0
Utile
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
shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 10 sept. 2010 à 09:21
0
Utile
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
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 10 sept. 2010 à 09:30
0
Utile
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
shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 10 sept. 2010 à 09:50
0
Utile
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
shadow578 102 Messages postés mercredi 8 avril 2009Date d'inscription 27 juin 2011 Dernière intervention - 10 sept. 2010 à 10:07
0
Utile
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.