Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] Rename mit Zeit und Dateiprüfung?

R

Ricel

Guest

Hallo PSD-Forum,

ich habe ein Problemchen bei der automatischen Umbenennung von Dateien nach Zeit.
Der Grund warum ich das machen will ist dass ich ein Offline Webseitengenerator benutze der den Header immer als "top.jpg" speichert.
Ich wollte den Header aber je nach Tageszeit anpassen und deswegen mit einer Umbenunng der Datei je nach Tageszeit arbeiten.
Auf meinen Server habe ich nun einmal "top.jpg" und "top_18h.jpg" liegen das nach 18 Uhr benutzt werden soll.

PHP:
<?php
$uhrzeit = date("G");
## Falls Uhrzeit korrekt + Datei existiert umbenennen
if($uhrzeit>=18 && $uhrzeit <= 6 && file_exists ('/top_18h.jpg'))
    {
     rename ("top.jpg","original_top.jpg");
     rename ("top_18h.jpg","top.jpg");
    }
## Falls Uhrzeit korrekt + Datei existiert umbenennen
if($uhrzeit>6 && $uhrzeit<18 && file_exists ('/original_top.jpg'))
    {
     rename ("top.jpg","top_18h.jpg");
     rename ("original_top.jpg","top.jpg");
    }
## Ausgabe des Bildes zu Testzwecken
echo '<img src="top.jpg"/>';
?>
Die beiden Bilder haben volle Zugriffsberechtigung (777). Aber es findet einfach keine Umbenennung statt.
Vieleicht seht ihr ja wo der Fehler liegt. Ich befasse mich noch nicht lange mit PHP und bin für jeden Hinweis dankbar. :)

Ich habe mir schon überlegt ob ich mich mal mit Cronjobs befassen sollte die dann 2 einfache rename Dateien je nach Zeit umbenennen, denn rename an sich funktioniert bei mir eigentlich! Mir wäre aber die Scriptlösung lieber.

Mfg.
Ricel
 

tgreve

********

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

probier mal [COLOR=#000000][COLOR=#0000BB]$uhrzeit [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]intval(date[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"G"[/COLOR][COLOR=#007700]));
[COLOR=Black]Ansonsten würde ich dir empfehlen mal in deinen if-Anweisungen ein paar echo "Bis hier gaht alles"; einzufügen - einfach nur um zu sehen, ob  die Anweisung auch ausgeführt wird.

Viel Erfolg noch,
Tim
[/COLOR][/COLOR][/COLOR]
 
R

Ricel

Guest

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Danke für die schnelle Antwort Tim

leider hat intval(date("G")); keinen Unterschied gebracht. 
Aber ich möchte mich erstmal für den Tipp mit den Echos bedanken. Das hat mir schonmal sehr weitergeholfen.:)
Jetzt sieht das ganze wie folgt aus:

[PHP]<?php
$uhrzeit = intval(date("G"));
## Falls Uhrzeit korrekt + Datei existiert umbenennen
if($uhrzeit>=18 && $uhrzeit <= 6 && file_exists ('/top_18h.jpg'))
    {
     rename ("top.jpg","original_top.jpg");
     rename ("top_18h.jpg","top.jpg");
     echo 'umbenennung erfolgreich top_18h.jpg';
    }
else
    {
     echo 'umbenennung fehlgeschlagen 18h-6h<br/>';
    }
## Falls Uhrzeit korrekt + Datei existiert umbenennen
if($uhrzeit>6 && $uhrzeit<18 && file_exists ('/original_top.jpg'))
    {
     rename ("top.jpg","top_18h.jpg");
     rename ("original_top.jpg","top.jpg");
     echo 'umbenennung erfolgreich original_top.jpg';
    }
else
    {
     echo 'umbenennung fehlgeschlagen 6h-18h<br/>';
    }
## Ausgabe des Bildes zu Testzwecken
echo '<img  src="top.jpg"/>';
?>
Ich bekomme nun die 2 else Anweisungen.
Das ich zumindestens eine bekomme war mir klar. :D
Die Zeiten in den If Anweisungen habe ich vorher natürlich getauscht. (file_exists habe ich dort gelassen wo sie waren.)
Das beide else Anweisungen erscheinen heißt wohl dass der Fehler in den ifs liegen muss.
Werde noch einwenig testen.
 
AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Hast Du schon mal daran gedacht, nicht dauernd die Datei umzubenennen sondern 2 Ordner anzulegen? Im Ordner "vor_18" liegt die eine "top.jpg" und im Ordner "ab_18" liegt die andere "top.jpg". Dann änderst Du einfach nur den Pfad abhängig von der Uhrzeit. Ist glaube ich etwas einfacher :)
 
R

Ricel

Guest

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Ja den Pfad ändern ist so ne Sache. Ich benutze ja einen Generator. Und für den gibt es nur die vom Programm vorgegbenen Pfade. Oder ist das jetzt so gemeint dass die Bilder aus den beiden Ordnern das aus den Original überschreiben?
 
AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Ich dachte Du könntest die Pfadangaben im Header zum Bild beliebig ändern.
Das mit dem überschreiben wäre auch eine Möglichkeit.
 
R

Ricel

Guest

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Ich habe dass Problem jetzt doch durch Cronejob gelöst. Mit Cronejob ging es viel besser als ich dachte.:D

Ich bedanke mich für all eure Antworten. 
Gelernt  habe ich aufjedenfall wieder was.:)

Mfg.
Ricel
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

[PHP]
if($uhrzeit>=18 && $uhrzeit <= 6 && file_exists ('/top_18h.jpg'))

Nenne mir bitte eine Zahl, die größer gleich 18 und gleichzeitig kleiner gleich 6 ist.


Duddle
 
R

Ricel

Guest

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

[QUOTE]Nenne mir bitte eine Zahl, die größer gleich 18 und gleichzeitig kleiner gleich 6 ist.[/QUOTE]

Ich dachte das spielt beim 24 Stunden System keine Rolle.
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Rename mit Zeit und Dateiprüfung?[/b]

Du vergleichst natürliche Zahlen miteinander. Diese gehorchen nicht dem 24h-System.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben