Question

En PHP, je souhaite renommer (déplacer / copier) un fichier sur un serveur de fichiers Windows: "\ monserveur \ dossier1 \ dossier2 \ monfichier.pdf" à "\ monserveur \ dossier1 \ dossier2 \ OLD \ monfichier.pdf"

(tous les dossiers existent déjà et le fichier de destination n'existe pas)

J'ai essayé ceci:

copy("\\\\myserver\\folder1\\folder2\\myfile.pdf", "\\\\myserver\\folder1\\folder2\\OLD\\myfile.pdf");

et

copy("//myserver/folder1/folder2/myfile.pdf", "//myserver/folder1/folder2/OLD/myfile.pdf");

Je reçois:

[function.copy]: failed to open stream: Permission denied 

L'ordinateur sur lequel je suis / l'utilisateur connecté en tant que dispose des autorisations pour renommer / déplacer / supprimer / copier dans ce partage / dossier.

Je suppose que je dois en quelque sorte donner des autorisations php ou exécuter php en tant qu'utilisateur?OU?

Était-ce utile?

La solution

PHP fonctionnera comme quel que soit l'utilisateur de votre serveur Web.Vous devrez accorder des autorisations sur ce dossier à n'importe quel compte d'utilisateur.

Autres conseils

N'utilisez pas Copy ... utilisez à la place move_uploaded

Voici un exemple d'obtention de l'image à partir d'un formulaire:

$img = 'sample.jpg;
$path = '//nameofyourpcinyournetwork/sharedfolder/folderyoulike/';
$pathwithimg = $path.$img;
if (!is_dir($path)) {
  mkdir($path, 0644, TRUE); // TRUE for make it recursive
}
if (file_exists($pathwithimg)) {
 unlink($pathwithimg);
 move_uploaded_file($_FILES["file"]["tmp_name"], $pathwithimg);
 chmod($pathwithimg, 0644);
}

Changez safe_mod sur Off si vous l'avez activé

P.D.Ouais je sais, ce post date d'il y a 5 ans ... mais personne n'a dit de réponse valide et d'autres personnes (comme moi) peuvent trouver cette question

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top