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 24/11/2006, 16h24   #1
Membre du Club
 
Inscription : octobre 2005
Messages : 52
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 52
Points : 44
Points : 44
Par défaut [Upload] Impossible d'uploader dans le bon répertoire

Bonjour!

Voila, j'ai un petit souci!

Alors tout d'abord je travail en local avec easyPhp.

En fait je voudrais uploader un fichier dans le répertoire "Medias/Musiques" depuis un code php qui est dans le répertoire "Scripts_Additionnels/Fichiers_PHP". Le problème est que ce fichier php veut tout à fait uploader la musique dans un repertoire rangé dans le même repertoire que lui-même, par exemple "Scripts_Additionnels/Fichiers_PHP/Musiques", avec le code suivant :

Code :
1
2
3
4
5
6
7
8
9
<?php
	$dest_path = "Musiques/".$_FILES['Filedata']['name'];
	if($_FILES['Filedata'])
	{
		if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $dest_path)) return true;
		else return false;
	}
	else return false;
?>
Mais il refuse d'accéder a un repertoire du "site" qui n'est pas dans son repertoire... Le code suivant ne fonctionne plus :

Code :
1
2
3
4
5
6
7
8
9
<?php
	$dest_path = $_SERVER['DOCUMENT_ROOT']."/Musiques/" . basename($_FILES['Filedata']['name']);
	if($_FILES['Filedata'])
	{
		if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $dest_path)) return true;
		else return false;
	}
	else return false;
?>
J'ai donc fait un essai html/PHP à part avec deux dossiers séparés ("PHP" et "Images') pour voir les erreurs qu'il m'affiche parcequ'avec flash je n'ai pas les erreurs.

Donc le code de cet essai est :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$directory=$_SERVER['DOCUMENT_ROOT']."/Images/";
$name=$_FILES["fichier"]["name"];
$temp_file=$_FILES["fichier"]["tmp_name"];
 
if(move_uploaded_file($temp_file, $directory.$name))
{
	echo 'Fichier '.$name.' télécharger avec succès!<br>';
}
else
{
	echo "Erreur de téléchargement :<br>".$_FILES["fichier"]["error"].'<br>';
}
?>
Il se produit exactement la même chose, c'est à dire que ça fonctionne si je remplace le $_SERVER['DOCUMENT_ROOT']."/Images/" par "Images/" et que je crée un repertoire "Images" dans le repertoire "PHP". Mais là ça ne fonctionne pas comme ça, il m'envoie les erreurs suivantes :

Citation:
Warning: move_uploaded_file(c:/program files/easyphp1-8/www/Images/Cezanne - Bend in Forest Road.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\rien36\php\upload.php on line 6

Warning: move_uploaded_file(): Unable to move 'C:\PROGRA~1\EASYPH~1\\tmp\php60.tmp' to 'c:/program files/easyphp1-8/www/Images/Cezanne - Bend in Forest Road.jpg' in c:\program files\easyphp1-8\www\rien36\php\upload.php on line 6
Bon là c'est une image pas de la musique, mais c'était un essai on s'en fiche!

Je ne m'explique pas vraiment les causes de ces erreurs, c'est comme si c'était interdit de copier là, mais pourtant c'est d'un site au même site...

Quelqu'un sait-il comment on peut charger une image dans un répertoire situé dans un autre répertoire que le .php?
Je pourrais mettre mon .php à la racine, mais si je commence come ça ça va devenir le bazard...

J'espère que je ne me suis pas trop mal exprimé!

Merci d'avance aux âmes généreuses qui voudront bien m'aider!
Coelacanthe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2006, 16h40   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Est-ce que Images existe bien ?
Et si tu mets le chemin en dur, sans passer par $SERVER ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2006, 16h48   #3
Membre du Club
 
Inscription : octobre 2005
Messages : 52
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 52
Points : 44
Points : 44
Merci de t'intéresser à mon cas!

Oui Images existe et j'ai bien essayer ce que tu dis.
J'ai essayer d'écrire directement "c:/program files/easyphp1-8/www/Images/" et aussi "http://localhost/RIEN36/Images/" mais cela ne fonctionne pas non plus.

Je trouve cette histoire assez saugrenue...
Coelacanthe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2006, 16h54   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
tu as essayé avec les slashes dans l'autre sens ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2006, 17h06   #5
Membre du Club
 
Inscription : octobre 2005
Messages : 52
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 52
Points : 44
Points : 44
Je viens de trouver, je suis vraiment idiot! En fait j'omettais le nom de mon répertoire rien36 après le ".../www/", désolé de vous avoir embêté pour rien...

Et le $_SERVER['DOCUMENT_ROOT'] ne me renvoyait pas non plus le rien36 au bout de l'adresse...

Merci Mr N.! Bonne soirée!
Coelacanthe 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 15h25.


 
 
 
 
Partenaires

Hébergement Web