2016-06-08 9 views
0

Ich versuche Variablen in der Funktion rename() von PHP zu verwenden, aber ich muss es falsch machen, da es nicht funktioniert.Verwenden von Variablen in der Funktion rename() PHP

$save = 'myfile-wf.png'; // this filename is actually created dynamically but I've just written it here for clarity. The variable is tested and working. 

rename("/var/www/$save", "/var/www/html/wave/$save"); 

Aber es ist nicht passiert. Kannst du sehen, was ich falsch mache? Kann ich eine Variable in einem Dateipfad nicht mit rename() verwenden?

+0

Wenn Sie laufen 'var_dump ("/ var/www/$ sparen", "/ var/www/html/wave/$ sparen");' ([Demo] (https://3v4l.org /#version=5.6.22)) zeigt es, was Sie brauchen? –

+0

Es wird funktionieren, möglicherweise enthält Ihr html-Verzeichnis dort kein 'wave' -Verzeichnis oder könnte eine Berechtigungsproblem sein – Thamilan

+0

Ändern Sie die Berechtigung von www-Verzeichnis zu 777 Rekursiv, das könnte Ihnen helfen. –

Antwort

2

Die rename() Funktion erwartet Strings als Parameter für Pfade:

bool rename (string $oldname , string $newname [, resource $context ])

Strings nicht Gedächtnis haben. Sobald Sie eine PHP-Datei erstellt haben, kann PHP nicht feststellen, ob Sie sie mit Variablen erstellt haben, Daten aus einer Datei gelesen oder sie aus einem Socket importiert haben.

Am wahrscheinlichsten Gründe sind:

  • Ihre Zeichenfolgen enthalten nicht, was Sie denken, sie tun (wie Sie gesagt haben, dies nicht unbedingt der Code ist)

  • rename() eine Warnung wirft aber Sie haben Ihre PHP-Entwicklungsumgebung nicht so konfiguriert, dass (alle) Fehler auf dem Bildschirm angezeigt werden.

+1

Ok, ich werde weitere Nachforschungen anstellen, danke, Bruder – Grant