UpLoaD (=> oui encore mais pas trouver de sol.)

Eléphant du PHP | 139 Messages

26 juil. 2005, 14:33

SAlut a tous, voila j'ai fais une recherche mais j'ai pas trouver la solution :

Donc voila je vous mets mon script :

Index.php3

Code : Tout sélectionner

<html> <head> </head> <body> <form method="post" action="upload.php3" ENCTYPE="multipart/form-data"> <input type="file" name="file_name" enctype="multipart/form-data"><br> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <input type="submit" value="Envoyer"> </form> </body> </html>
upload.php3
<?
$file_name=" ";
if ($file_name == "none")
	{
	print "Spécifier un fichier à envoyer.";
	}

else
	{	
	/* indiquer $dest_file qui correspond au répertoire de destination */
	$dest_file="../Images/name_of_file";

	/* enlève un "\"  */
	$source_file=stripslashes($file_name);
	
	/* copie du fichier */
	$res_copy=copy($source_file , $dest_file);
	
	print "Fichier envoyé.";
	}
?>
J'ai changer
$dest_file="../Images/name_of_file";
pour mettre ça dans le répertoire qui m'intéresse ...

Et voici l'erreur que j'ai en ayant mis les droits d'écriture ...
Warning: copy( ): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\upload\upload.php3 on line 17
Fichier envoyé.
Merci d'avance, j'aimerai comprendre pourquoi cette erreur ...

Mammouth du PHP | 19672 Messages

26 juil. 2005, 14:37

Remplace la première ligne de définition de la variable $file_name par:
$file_name = isset($_FILES['file_name']['name'])?$_FILES['file_name']['name']:"none";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 139 Messages

26 juil. 2005, 14:44

Ok merci meme si je sais pas trop ce ke ça fais ...

Sinon je pense que mon dossier de destination n'est pas bien définit non ?

En fait je veux copier l'image dans "C:\Program Files\EasyPHP1-8\www\INTRANET\Images" Mais je sais pas trop omment le définir et j'avoue ke je comprend pas grand chose au code ...

Mammouth du PHP | 19672 Messages

26 juil. 2005, 14:48

Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 139 Messages

26 juil. 2005, 14:50

Merci bien je lis tout ça et je devrai trouver la solution ...

Supprime ce post il ne sert a rien, il emcombre plus qu'autre chose ....

Merci encore...


++

Mammouth du PHP | 19672 Messages

26 juil. 2005, 14:52

Non, je supprime pas, un autre aura peut-être ultérieurement la même question, il aura la même réponse et le lien ;)

Et si tu as un soucis technique, tu pourras reprendre le fil de ce post dans la mesure où on reste sur le même sujet.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 139 Messages

28 juil. 2005, 10:54

RE TOUT LE MONDE !!!

Alors vola j'ai réussi a faire fonctionner mon script mais maintenant je voudrais quelque chose de plus compliqué!

Explications :
Lors de l'upload de l'image, le fichier séléctionné est copié dans un répertoire, et j'enregistre le nom du fichier dans ma base...

J'ai une autre page de créée ou j'aimerais récupérer le chemin du fichier et pouvoir modifier ce fichier...


Exemple :

J'upload un fichier "TEST.jpg" dans mon répertoire "D:/Mes doc/", si je vais sur ma page de modif, j'aimerais récupérer "D:/Mes doc/TEST.jpg" et pouvoir modifier ...


Si vous avez besoin d'un bout de code...
Par contre je vous préviens, mon code est pas propre mais je l'indente en ce moment ... ;)

edit mere-teresa : j'ai pas pu m'empêcher de corriger certaines fautes d'ortho

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

28 juil. 2005, 11:12

Ton serveur est un poste sous Windows ?

Eléphant du PHP | 139 Messages

28 juil. 2005, 11:48

Tout a fait !
Mais je test en local pour l'instant ...

Eléphant du PHP | 139 Messages

29 juil. 2005, 10:52

Bon apparement il vous faut un bout de code pour m'aider ...

Donc voici :
<?php require_once('..\Connections\intranet.php');  ?>
<? 
if (isset($result)) {@mysql_free_result($result);}
$Id=$_GET['id'];
$query = "SELECT Date, Titre, Texte, Affichage, Image FROM ajout_actu WHERE Id=$Id";
$result = mysql_query($query);
while($row = @mysql_fetch_array($result)) {
  $Date=$row[0];
  $Titre=$row[1];
  $Texte=$row[2];
  $Affichage=$row[3];
  $Image=$row[4];}
echo $Image;
$query = "SELECT valeur FROM param where donnee='images'";
$result2 = mysql_query($query);
while($row = @mysql_fetch_array($result2)) {
	$chemin = $row[0];}
echo $chemin;
?>

<html>
<head>
</head>

<body background="../Images/PINELUMB.jpg">
<form name="form1" method="post" action="../ACTU/update_actu.php?id=<? echo $Id;?>">
  <p>
  <table width="367" border="0">
    <tr>
      <td width="241"><strong>Date :</strong>
        <input type="text" name='Date' value="<?php echo $Date; ?>"></td>
      <td width="116">        
        <strong>Affichage :</strong>
		?
		<?php if ($Affichage==1) { ?>
		<input name='Affichage' type="checkbox" checked >
		<? } else { ?>
		<input name='Affichage' type="checkbox" >
		<? } ?>
	  </td>
    </tr>
    <tr>
      <td><strong>Titre :</strong>
        <input type="text" name="Titre" value="<? echo $Titre; ?>"></td>
      <td><input type="submit" name="MAJ" value="Mettre a jour"></td>
    </tr>
  </table>
  <p>
  	<strong>Contenu :</strong>
    <textarea name="Text_actu" cols="45" rows="10"><? echo $Texte; ?></textarea>
  </p>
   <p><strong>Photo :</strong>
  <input type="file" name="file_name" enctype="multipart/form-data" value="<? echo $chemin . $Image; ?>"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="100000"></p>
</form>
</body>
</html>
Dans mon dernier input j'aimerais récupérer le chemin de mon Image que j'ai UPloader précédement ! Comme faire? Il ne m'affiche pas mon chemin pourtant quand je teste mes variables, le chemin et le nom de fichier sont corrects! :|
Merci d'avance !

Mammouth du PHP | 543 Messages

29 juil. 2005, 10:54

C'est impossible de fixer la value dans un input file il me semble, enfin je n'ai jamais vu cela.
@+

Eléphant du PHP | 139 Messages

29 juil. 2005, 10:59

ooK donc comment faire pour récupérer le chemin du fichier?
Car en fait cette page est la page de modif donc si par exemple l'utilisateur s'est planté d'image, bin il en choisi une autre ...
Je suis pas obligé de faire comme ça je peux tout simplement refaire un UPLOAD ?

Qu'en pense tu ?