Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/03/2008, 21h38   #1
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 171
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 171
Points : 16
Points : 16
Par défaut [Upload] Upload avec creation de directory: erreur d'array ?

Bonjour à tous !!

J'ai un code qui commence à me rendre fou ! Voici le script que j'utilise:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
<div class="texte">		
 
 
<table width="351" border="0">
 <tr>
<td><div class="bloc_gauche"><img src="<? echo $URLAVATAR; ?>" alt=""/></div></td>
</tr>
</table>
 <table><form name="formulaire_3" method="post" action="index.php?p=profil" enctype="multipart/form-data">
<input name="photo_1" type="file" class="content_box" id="photo_1" size="30" />
<input type="submit" name="submit" value="Continuer">
</form>
 </table>
  </div>                            							
 
 
 
<? 
// GESTION DE L'UPLOAD
$LOGIN = 'test' ; 
						if (isset($_FILES['photo_1'])) {
							if(!is_dir("/$LOGIN")) mkdir ("/$LOGIN", 0755);
							print_r($_FILES['photo_1']);
							$ext = image_type_to_extension(exif_imagetype($_FILES['photo_1']['tmp_name']),true);  
							copy($_FILES['photo_1'], "/$LOGIN/photo_1.".$ext);
							}  
 
 
					}
Ceci me donne comme erreur:

Code :
1
2
3
4
5
Array ( [name] => 3.jpg [type] => image/jpeg [tmp_name] => /Applications/MAMP/tmp/php/phplf6ELl [error] => 0 [size] => 59563 ) 
Notice: Array to string conversion in index.php on line 553
 
Warning: copy(Array) [function.copy]: failed to open stream: No such file or directory in 
index.php on line 553
Le ligne 553 est:

Code :
copy($_FILES['photo_1'], "/$LOGIN/photo_1.".$ext);
Je ne comprends pas ce qui pose problème ! Voyez vous un problème ?

Merci @ tous !!
RedVivi
redvivi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2008, 01h56   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Lors d'un upload, il ne faut pas utiliser la fonction copy mais move_uploaded_file qui va copier le fichier uploadé du répertoire temporaire vers la destination souhaitée.

Ce qui donne dans ton cas:

Code :
1
2
3
4
5
6
7
8
9
if (isset($_FILES['photo_1'])) {
							if(!is_dir("/$LOGIN")) mkdir ("/$LOGIN", 0755);
							print_r($_FILES['photo_1']);
							$ext = image_type_to_extension(exif_imagetype($_FILES['photo_1']['tmp_name']),true);  
							move_uploaded_file($_FILES['photo_1']['tmp_name'], "/$LOGIN/photo_1.".$ext);
							}  
 
 
					}
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2008, 10h45   #3
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 171
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 171
Points : 16
Points : 16
Apparemment celà ne résoud pas le problèma car j'ai encore ce message d'erreur:

Code :
Array ( [name] => 2.jpg [type] => image/jpeg [tmp_name] => /Applications/MAMP/tmp/php/phpBV63WT [error] => 0 [size] => 21783
?
redvivi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2008, 10h54   #4
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
De ce que je peux lire, ce n'est pas une erreur mais seulement l'affichage de ton print_r. Cette ligne doit être là pour des raisons de test je présume, je te conseille donc de la mettre en commentaires.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h12.


 
 
 
 
Partenaires

Hébergement Web