Les Allergies
Alimentaires
Posez votre question Signaler

Probleme de droits failed to open stream

pedrolitoofpg 1Messages postés 13 mars 2008Date d'inscription - Dernière réponse le 10 déc. 2008 à 21:48
Bonjour,
J'ai un gros probleme ou plutot un long probleme, parce que la je cherche depuis 2 jours et c'est la m**** !!
Jvous explique; j'essaye en fait d'uploader une image sur mon serveur web mais le probleme que que ça m'affiche Warning: move_uploaded_file(images/image.jpg) [function.move_uploaded_file]: failed to open stream: Permission denied in ....
le dossier image existe bien mais je ne sais pas sa veut pas copier, un probleme de droits que je n'arrive pas à resoudre. J'ai changer les droits du dossier en question pour autoriser l'ecriture par tout le monde et la ça fonctionne. Mais bon je ne pense pas que se soit une bonne solution. Surtout que quand je créer un nouveau dossier avec mkdir($dossier,0777) impossible de supprimer ces dossiers par la suite, meme en allant directement sur l'admin de l'hebergeur.
Comment faire pour s'authentifier en quelque sorte de maniere à ce que le deplacement du fichier vers le serveur soir possible. Voici le code "mal de crane", pourtant archi basique:
<?php

if(isset($_FILES['photo'])) 
{
$chemin_destination = 'images/';
move_uploaded_file($_FILES['photo']['tmp_name'], $chemin_destination.$_FILES['photo']['name']);
}

?>

Ce serai vraiment super sympa de m'aider, merci.
Lire la suite 

Probleme de droits failed to open stream »

1 réponses
Réponse
+1
moins plus
Hey,

pour ne pas être obliger de mettre ton dossier en 777, tu peux donner la propriété de ton dossier au serveur qui va par la suite aller créer les fichiers dans ton dossier -> par exemple apache et tu va pouvoir mettre ton dossier en 755

pour ce qui est du fait que tu n'es pas capable de supprimer les dossiers que tu mets en 777... et si tu es certain que tu as bien les droits d'admin, je ne vois pas d'autres manière que d'aller les détruire en mode SSH.

voici un code que je préfères pour l'upload de fichier
tu mets ce que ta besoin pour le $path et le $folder
le $insertArray[$key] est pour la suite l'enregistrement dans la bd

if (isset($_FILES)) {
foreach ($_FILES as $key => $value) {
if ($value['error'] == 0) {
if (is_file($path.$folder.$value['name'])) {
$file_explode = explode('.',$value['name']);
for ($i=1;is_file($path.$folder.$file_explode[0].'('.$i.').'.$file_explode[1]);$i++);
$uploadFile = $path.$folder.$file_explode[0].'('.$i.').'.$file_explode[1];
$value['name'] = $file_explode[0].'('.$i.').'.$file_explode[1];
} else {
$uploadFile = $path.$folder.$value['name'];
}
if(is_uploaded_file($value['tmp_name'])) {
if(move_uploaded_file($value['tmp_name'], $uploadFile)) {
chmod($uploadFile, 0755);
$insertArray[$key] = $value['name'];
}
}
}
}
}

peace
Ajouter un commentaire
Ce document intitulé « probleme de droits failed to open stream » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?