Failed to open stream: Permission denied
Résolu
mont_dani
Messages postés
249
Statut
Membre
-
mont_dani Messages postés 249 Statut Membre -
mont_dani Messages postés 249 Statut Membre -
Bonjour
J'utilise "copy" dsns un fichier ou je n'ai pas d'erreur
J'ai une ereur Warning: copy(images/albums/album1/20210333-a.jpg ): failed to open stream: Permission denied in C:\wamp64\www\lenergie-vive\lev\pj\new-4.php on line 42 dons ce fichier php ou j'utilise aussi "copy".
J'ai regardé sur le web ou j'ai vu qu'il falit donner les droit avec chmod.
Mais cela ne fonctionne pas
Peut-etre que je n'utilise pas correctement le chmod? ou autre chose?
Merci pour votre aide.
J'utilise "copy" dsns un fichier ou je n'ai pas d'erreur
<?php
setlocale (LC_TIME, 'fr_FR.utf8','fra');
$datetime = date("Ymd");
$date_lettre = strftime(" %d %B %Y");
$photo_origine = "images/origine/" . $datetime . ".jpg";
$photo_cible_1 = "images/albums/album1/" . $datetime . ".jpg";
$photo_cible_2 = "images/albums/album1/thumbs/" . $datetime . ".jpg";
$archive_texte =("texte/");
$liste_photo =("texte/liste_photo.txt");
if(!is_file($liste_photo)) // si le fichier exist
{
$verif=@fopen($liste_photo,"w+");
}
else
{
}
if (file_exists($photo_origine)) {// si la photo existe
rename ($photo_origine ,$photo_cible_1 );
copy( $photo_cible_1 , $photo_cible_2 );
// Si ok on ouvre en écirtureç-enregistrement du fichier liste_photo.txt
$verif=@fopen($liste_photo,"r+");
// On analyse les anciennes données et on les stock
$stock=@fread($verif,filesize($liste_photo));
$opinion="<div class=content><div><a href=#><img src=".$photo_cible_1." alt=".$date_lettre." class=thumb /></a><span></span></div></div>\n";
// On remet le curseur du fichier en début de ligne
rewind($verif);
// On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
// On clore le fichier
fclose($verif);
// On affiche le tout
//readfile($commentaires);
$temoin = file_get_contents('texte/liste_photo.txt');
$temoin= str_replace('=content','="content"', $temoin ) ;
$temoin= str_replace('href=#','href="#"', $temoin ) ;
$temoin= str_replace('=thumb','="thumb"', $temoin ) ;
$result=file_put_contents('texte/liste_photo.txt',$temoin);
}
else {}
?>
J'ai une ereur Warning: copy(images/albums/album1/20210333-a.jpg ): failed to open stream: Permission denied in C:\wamp64\www\lenergie-vive\lev\pj\new-4.php on line 42 dons ce fichier php ou j'utilise aussi "copy".
J'ai regardé sur le web ou j'ai vu qu'il falit donner les droit avec chmod.
Mais cela ne fonctionne pas
<?php
//$datetime = date("Ymd");
$datetime= ("20210333");
$date_lettre = strftime(" %d %B %Y"); //pour le titre image
$archive_texte =("texte/");
$liste_photo =("texte/liste_photo.txt");
$photo_origine = "images/origine/" . $datetime . "**.jpg";
// extraire les fichiers qui contienne la variable
foreach(glob("images/origine/".$datetime."**.jpg") as $file){
}
//extraire le nom du fichier
$archive = basename($file);
if (fnmatch("*[a-]*",$archive)) // si le fichier contient a-
{
$credit= "facebook";
echo "credit<br>" .$credit."<br />";
//$new_archive= str_replace("a-","",$archive); //remplace ce caractere par rien
//echo "new archive<br>" .$new_archive."<br />";
//rename("images/origine/a-20210333.jpg","images/origine/20210333.jpg");
}
else
{
echo "erreur";
}
//$photo_origine = "images/origine/" . $file . ";
echo "<br>photo origine <br> " .$photo_origine;
$photo_complet= "images/origine/".$archive."";
echo "<br>photo complet <br> " .$photo_complet;
$photo_cible_1 = "images/albums/album1/" . $archive . " ";
echo "<br>photo cible 1 <br> " .$photo_cible_1;
$photo_cible_2 = "images/albums/album1/thumbs/" . $archive . " ";
echo "<br>photo cible 2 <br> " .$photo_cible_2;
if (file_exists($photo_complet)) {// si la photo existe
chmod ( $photo_complet , 0777 );
copy( $photo_complet , $photo_cible_1 );
copy( $photo_complet , $photo_cible_2 );
}
else{
}
?>
Peut-etre que je n'utilise pas correctement le chmod? ou autre chose?
Merci pour votre aide.
A voir également:
- Failed to open stream: permission denied
- Open office gratuit - Télécharger - Suite bureautique
- Open core legacy patcher - Accueil - MacOS
- Qwerty to azerty - Guide
- Ace stream - Télécharger - Lecture
- Papa du stream avis ✓ - Forum Loisirs / Divertissements
Incluir ou non le reste du code dans foreach ne change pas le problème.
je reste persuadé que tu as fermer ta boucle trop tôt...
et pour le vérifier il te suffit de faire des échos de tes différentes variables de ton script...
credit
facebook
photo origine
images/origine/20210333**.jpg
photo complet
images/origine/20210333-a.jpg
photo cible 1
images/albums/album1/20210333-a.jpg
photo cible 2
images/albums/album1/thumbs/20210333-a.jpg
Le foreach me sert a obtenir le nom complet de mon fichier
foreach( glob("images/origine/".$datetime."**.jpg") as $file){
//extraire le nom du fichier
$archive = basename($file);}
Existe-t il une autre methode pour extraire le nom complet du fichier?