IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

failed to open stream: No such file or directory in


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 80
    Par défaut failed to open stream: No such file or directory in
    Bonjour la communauté,

    Voilà j'utilise un script pour envoyer la photo dans un dossier de mon application web et je précise que je travaille sous Wamp et le script a l'habitude de fonctionner mais cette fois-ci il ne me donne que des Warning qui me donnent vraiment les maux de tête!

    Voici mon code html du formulaire pour charger la photo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    	<div id="error_avatar" class="row"><?php
    		include('verif_photo_user.php'); ?>
    	</div>	
    	<div class="row">
    		<div class="col-sm-3">
    			<div class="pmo-pic">
    				<div class="p-relative">
    					<img class="img-responsive" src="img/users/profil-homme.jpg" alt="">
    				</div>
    			</div>
    			<form name="changerphotos" method="POST" action="" ENCTYPE="multipart/form-data">
    				<label>Ajouter une Photo de Profile</label>
    				<input type="hidden" name="max_file_size" value="1048576">
    				<input type="hidden" name="sooc" value="<?php echo $idu; ?>">
    				<input type="hidden" class="form-control" id="iduserup" name="iduserup" value="<?php echo $_GET['ooc']; ?>">
    				<input type="file" name="photos" class="form-control">
    				<button type="submit" class="pmop-edit" name="changer" value="Remplacer"><i class="zmdi zmdi-camera"></i> <span class="hidden-xs">Mettre à jour la photo</button>
    			</form>
    		</div>
    		<div class="col-sm-9">
     
    		</div>
    	</div>
    Et voici mon code pour le contrôle du formulaire après envoi du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    <?php
    	if(isset($_POST['changer'])){ 
    		$sooc=strip_tags($_POST['sooc']); $sooc=htmlspecialchars($sooc); $iduserup=strip_tags($_POST['iduserup']); $iduserup=htmlspecialchars($iduserup);
    		$max=htmlspecialchars($_POST['max_file_size']); $max=strip_tags($_POST['max_file_size']);
    		$photos=htmlspecialchars($_FILES['photos']['name']); $photos=strip_tags($_FILES['photos']['name']); //require_once('connexion_db.php');
    		if(!preg_match("#^[0-9]{1,2}$#", $sooc) || ($sooc=='0')){  
    			echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Valeur non prise en charge ! </h4></div>"; 
    			exit();
    		}else{
    			//Requete sur la table user pour verifier l'id de l'utilisateur connecte
    			$sqlsu=$connexion->query("SELECT id_user FROM users WHERE id_user='".addslashes($sooc)."'"); 
    			if(!$sqlsu){
    				echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! code : verif_photo_user13</h4></div>"; 
    				exit();
    			}else{
    				if(mysqli_num_rows($sqlsu)==0){
    					echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! code : verif_photo_user17 </h4></div>"; 
    					exit();
    				}
    			}
    		}
    		//Verification de l'id de l'utilisateur dont la photo est a mettre a jour
    		if(!preg_match("#^[0-9]{1,2}$#", $iduserup) || ($iduserup=='0')){  
    			echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Valeur non prise en charge ! </h4></div>"; 
    			exit();
    		}else{
    			//Requete sur la table user pour verifier l'existence de son id dans la table users
    			$sqlu=$connexion->query("SELECT id_user, user_name FROM users WHERE id_user='".addslashes($iduserup)."'"); 
    			if(!$sqlu){
    				echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! code : verif_photo_user13</h4></div>"; 
    				exit();
    			}else{
    				if(mysqli_num_rows($sqlu)==1){
    					$repsqlu=$sqlu->fetch_assoc(); $pseudo=$repsqlu['user_name'];
    				}
    				elseif(mysqli_num_rows($sqlu)==0){
    					echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! code : verif_photo_user17 </h4></div>"; 
    					exit();
    				}
    			}
    		}
    		// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
    		if(isset($_FILES['photos']) AND $_FILES['photos']['error']==0){
    			// Testons si le fichier n'est pas trop volumineux
    			if ($_FILES['photos']['size'] <= $_POST['max_file_size']){
    				//echo '<br>2'.$_POST['max_file_size'].' '.$_FILES['photos']['name'];
     
    				// Testons si l'extension est autorisée
    				$infosfichier = pathinfo($_FILES['photos']['name']);
    				$extension_upload = $infosfichier['extension'];
    				$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'JPG', 'JPEG', 'GIF', 'PNG');
    				if (in_array($extension_upload, $extensions_autorisees)){
     
    					date_default_timezone_set('UTC');
    					$date = date("Y-m-d"); $heure=date("H:i:s"); $avatar=$_FILES['photos']['name'];
    					//requete d'enregistrement de la photos
    					$sqlav=$connexion->query("INSERT INTO users_avatar SET avatar_name='".$avatar."', date_save_avatar='".$date."', heure_save_avatar='".$heure."'");
    					if(!$sqlav){
    						echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! La photo n'est pas enregistrer, code : verif_photo_user64 </h4></div>"; 
    						exit();
    					}else{
    						$idavatar=mysqli_insert_id($connexion);
    						//mise a jour de la photo de l'utilisateur dans la table users
    						$sql=$connexion->query("UPDATE users SET id_avatar='".$idavatar."' WHERE id_user='".addslashes($iduserup)."'");
    						if(!$sql){
    							echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! La photo n'est pas enregistrer, code : verif_photo_user71 </h4></div>"; 
    							exit(); //echo "Erreur lors de l'execution de la requete de la photos de l'eleve (" . $connexion->errno . ") " . $connexion->error;
    						}else{
    							$libelle="Mise à jour de la photo de profile de l'utilisateur  <b class='text-indigo'>".$pseudo."</b> à la date du : <b class='text-green'>".$date." ".$heure."</b>";
    							//Enregistrement de l'action dans la table surf_journal 
    							$sqlj=$connexion->query("INSERT INTO surf_journal SET id_user='".addslashes($sooc)."', libelle_surf='".addslashes($libelle)."', date_surf='".$date."', heure_surf='".$heure."'");
    							if(!$sqlj){	
    								echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>Erreur interne ! Code : verif_photo_user78 </h4></div>"; 
    								exit();
    							}else{
    								// On peut valider le fichier et le stocker définitivement
    								move_uploaded_file($_FILES['photos']['tmp_name'],"../../img/users/".$iduserup."/".$_FILES['photos']['name']);
    								echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-success text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>La Photo de Profile de l'utilisateur ".$pseudo." a été correctement enregistrée </h4></div>"; 
    							}
    						}
    					} 
    				}
    				else{
    					echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>L'extension de la Photo de Profile n'est pas valide ! Voici les extensions autorisées jpg, jpeg, gif, png, JPG, JPEG, GIF, PNG</h4></div>"; 
    				} 
    			}
    			elseif($_FILES['photos']['size'] > $max_file_size){
    				echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i>La taille de la Photo de Profile est trop grande ! Veuillez reduire la taille de la Photo !</h4></div>"; 
    			} 
     
    		}else{
    			echo"<div class='col-sm-12 col-md-12 col-lg-12 alert-danger text-center'><h4><i class='glyphicon glyphicon-warning-sign'></i> Une erreur s'est produite lors du chargement de la photo !</h4></div>"; 
    		} 
    	} ?>
    Voici la capture d'écran du message d'erreur
    Nom : move-uploaded-file.jpg
Affichages : 600
Taille : 193,1 Ko

    Merci d'avance pour vos différentes réponses!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Developpeur
    Inscrit en
    Juillet 2014
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 102
    Par défaut
    Bonjour,
    Vérifiez que le path "../../img/users/".$iduserup."/" est correct.
    Si c'est le cas, vérifiez les droits sur le dossier.

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 80
    Par défaut
    Finalement j'ai trouvé les erreurs suivantes:
    1) strip_tags ne s'applique pas sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $photos=strip_tags($_FILES['photos']['name']);
    son utilisation produisait une erreur!
    2) Le chemin ../../img/users/".$iduserup."/ n'était pas bon!
    Voici le bon chemin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['photos']['tmp_name'],"img/users/".$iduserup."/".$_FILES['photos']['name']);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/12/2011, 21h33
  2. Réponses: 3
    Dernier message: 01/09/2009, 08h38
  3. failed to open stream: No such file or directory
    Par Invité dans le forum Langage
    Réponses: 11
    Dernier message: 17/03/2009, 20h02
  4. "failed to open stream: No such file or directory in.."
    Par Xpertfly dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2008, 10h56
  5. failed to open stream: No such file or directory
    Par Deallyra dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2007, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo