2016-06-09 10 views
0

Ich habe versucht, 2 Variablen zu einem Glob-Muster zu übergeben. Ich habe versucht, eine einfache Zeichenfolge zuerst zu verwenden, die wie ein Charme funktioniert. Das Ersetzen von Teilen dieses Strings durch Variablen führt zum Fehlschlagen.Kann Variablen nicht an Glob-Funktion übergeben

Also kurz gesagt:

glob("/home/plesk/remote_data/2016 06 09 16/Arena Cam 1 - /16 05 03*.jp2") 

funktioniert perfekt.

Wenn ich ersetzen Teile des Pfades mit Variablen,

glob("/home/plesk/remote_data/". $currentDate ."/Arena Cam 1 - /". $currentTime ."*.jp2") 

bedeutet es ein leeres Array zurückgibt.

Auch wenn ich das Argument in einer Variablen setzen,

$arg ="/home/plesk/remote_data/2016 06 09 16/Arena Cam 1 - /16 05 03*.jp2") 

und ruft glob($arg) zu schaffen bedeutet, es gibt eine leere Array.

Warum passiert das und wie kann ich das beheben?

Antwort

1

Kurz gesagt ist die String-Verkettung falsch. Denken Sie daran, in einem doppelten Anführungszeichen Stringliteral $values automatisch

Doing

glob("/home/plesk/remote_data/$currentDate/Arena Cam 1 - /$currentTime*.jp2") 

die Komplexität aller Entfernt erweitert werden und wird wahrscheinlich für Sie arbeiten, vorausgesetzt, ich habe nicht hinzugefügt oder entfernt Leerzeichen in meinem bearbeiten versehentlich

Ich dachte nur, Ihr Problem könnte natürlich mit der Art zusammenhängen, wie Sie Ihr Datum und Ihre Uhrzeit in $currentDate und $currentTime erstellen. Vielleicht sollten Sie überprüfen, ob das Datum im richtigen Format generiert wird!

+0

Ich gebe es eine Chance. Einen Moment, danke. –

+0

Leider hat das bei mir nicht funktioniert. –

+0

Siehe zusätzlichen Absatz über Datumsformate – RiggsFolly