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 25/06/2007, 15h47   #1
Inactif
 
Avatar de Deallyra
 
Étudiant
Inscription : février 2007
Messages : 1 997
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 1 997
Points : 1 632
Points : 1 632
Par défaut failed to open stream: No such file or directory

Bonjour,

J'ai un petit problème avec PHP... Désolée si je ne poste pas au bon endroit mais il m'a semblé le plus approprié car il me semble qu'il s'agit d'un problème actuel de ma syntaxe.

Voilà, j'ai un code qui me permet de récuperer un fichier uploader à partir d'un formulaire vers le serveur. et c'est là que j'ai mon erreur.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
$content_dir = '/Upload/' /*Dossier où sera déplacé le fichier*/
		;
	    $tmp_file = $_FILES['CV']['tmp_name']
		;
	    if( !is_uploaded_file($tmp_file) )
	    {
			echo "<script language=\"javascript\">";
				echo "alert('Fichier introuvable')";
			echo "</script>";
	    }
		;
	    $type_file = $_FILES['CV']['type'] /*On vérifie maintenant l'extension*/
		;
	    if( (!strstr($type_file, 'doc')) or (!strstr($type_file, 'wps')))
	    {
			echo "<script language=\"javascript\">";
				echo "alert('Le fichier n'est pas un format doc ou wps!')";
			echo "</script>";
			;
	    }
	    $name_file = $_FILES['CV']['name'] /*On copie le fichier dans le dossier de destination*/
	    ;
	    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
//Warning: move_uploaded_file(/Upload/CV.doc): failed to open stream: No such file or directory in c:\(...)\v_contact_jeune.php on line 49
//Warning: move_uploaded_file(): Unable to move 'C:/Program Files/EasyPHP1-8\tmp\phpE8.tmp' to '/Upload/CV.doc' in c:\(...)\v_contact_jeune.php on line 49
 
	    {
			echo "<script language=\"javascript\">";
				echo "alert('Impossible de copier le fichier dans $content_dir')";
			echo "</script>";
	    }
 
		;
		if (@mail_attach($author[1].$author[2].$author[3] , $_POST['sujet'] , $_POST['Requete'] , $fichier, $type, $name , $_POST['E-Mail']))
		{
			echo "<script language=\"javascript\">";
				echo "alert('Votre message a été envoyé')";
			echo "</script>";
		}
		else
		{
			echo "<script language=\"javascript\">";
				echo "alert('Votre message n'a pas pu être envoyé !!!')";
			echo "</script>";
		}
		;
		@unlink ($DOCUMENT_ROOT.$content_dir.$name);
	}
	;
Deallyra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 15h54   #2
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Tout simplement parce que le fichier que le script essaye d'ouvrir n'existe pas sur le systeme de fichier au chemin specifie. La ligne fournie par le message d'erreur devrait aider, ainsi qu'un dump de la variable utilisee en tant qu'argument de chemin a la fonction qui a jeté l'erreur.
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 16h01   #3
Inactif
 
Avatar de Deallyra
 
Étudiant
Inscription : février 2007
Messages : 1 997
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 1 997
Points : 1 632
Points : 1 632
dump?

si ça peut aider, je récupère le fichier via ce code (épuré):
Code :
1
2
3
4
5
6
7
8
9
10
 
<form name = "contact" method = "POST" enctype = "multipart/form-data" action = "" >
		<label for = "CV">
			-CV :
		</label>
		<input name = "CV" type = "file" id = "CV" size = "20" />
		<br />
	    <input name = "Envoyer" type = "submit" value = "Envoyer" />
	<input type = "hidden" value = "oui" name = "correct" />
</form>
Donc avant ce code, je vérifie si $_POST['correct'] est égal à oui pour savoir si le formulaire à été soumit.
si je fais un echo de $_FILES, j'obtiens le nom et l'extension du fichier uploadé... que vous dire de plus?
Deallyra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 20h22   #4
Membre du Club
 
Inscription : août 2003
Messages : 49
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 49
Points : 50
Points : 50
Bonjour,

Je pense que le message d'erreur est explicite.
ton dossier $content_dir = '/Upload/' n'hexiste pas. (ou chemin incorrect)
Essaye en relatif :
$content_dir = './Upload/';

Sinon, il peut aussi sagir de droit d'accès...

++
Snowboarder69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 09h33   #5
Inactif
 
Avatar de Deallyra
 
Étudiant
Inscription : février 2007
Messages : 1 997
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 1 997
Points : 1 632
Points : 1 632
... niveau droit d'accès, j'ai crée le dossier en donnant un CHMOD à 777.

en fait, je ne sais pas pourquoi mais avec le point devant c'est bon. Merci beaucoup!
Deallyra 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 12h29.


 
 
 
 
Partenaires

Hébergement Web