2016-12-09 3 views
0

Mit dem folgenden Code erhalte ich einen Fehler, wenn ich versuche, eine Datei oder irgendetwas anderes, das ich damit versuche, zu kopieren. Ich bin jedoch in der Lage, fast identischen Code zu verwenden, um die Datei zu löschen.Kann Dateien löschen, nicht kopieren oder ändern - PHP

$file = "img1.jpg"; 

if (!copy($file, "img2.jpg")) { 
    echo ("Error copying $file"); 
} else { 
    echo ("Copied $file"); 
} 

löschen Code:

if (!unlink($file)) { 
    echo ("Error deleting $file"); 
} else { 
    echo ("Deleted $file"); 
} 

Wer weiß, warum es könnte dies tun?

Edit: Apache besitzt die Dateien aber scheint nicht in der Lage zu sein, sie zu lesen oder zu schreiben, wie pro is_readable und is_writeable

Edit2: added zweites Argument des Kopie-Code. Das war nicht das Problem, nur ich mache Fehler beim Posten dieser Frage.

+0

Kopie von ..... ** bis ** –

Antwort

0
$file = "img1.jpg"; 
$newFile = "img1_copy.jpg"; 

if (!copy($file, $newFile)) { 
    echo ("Error copying $file"); 
} else { 
    echo ("Copied $file"); 
} 

http://php.net/manual/en/function.copy.php

Die Funktion erfordert copy() 2 Argumente.

+0

Fehler beim Schreiben der Frage, nicht der Fehler, den ich hatte –

+0

'Ich erhalte einen Fehler beim Versuch, eine Datei zu kopieren' Was ist es dann? Kopieren Sie die ganze '.php' Datei anstelle der Snippets, damit wir Ihnen weiterhelfen können. – TheWorstOne

+0

Die einzige andere Möglichkeit, Probleme zu haben, ist, wenn die Berechtigungen für das Verzeichnis nicht korrekt festgelegt sind. Stellen Sie sicher, dass die Ordner über 777 Berechtigungen verfügen. – TheWorstOne

0

Ändern Sie alle Berechtigungen manuell für jede Datei, so dass www-data es besitzt, und www-data (die Gruppe) kann lesen und schreiben. Apache hat etwas Seltsames getan, und während der Apache-Benutzer die Datei besaß und lesen und in die Datei schreiben konnte, konnte die Gruppe www-data das nicht tun.

Verwandte Themen