in Schleife Array erstellen
andreas korthaus
- php
0 Cheatah0 lulu0 andreas korthaus0 Cheatah0 Andreas Korthaus0 lulu
Hallo!
Ich habe jetzt ein Script geschrieben, welches mir alle Dateien vom Lokalen Verzeichnis auf den Webserver hochläd. So wir so gut, filtere auch vorher alle zu großen... Dateien heraus, die Namen schreibe ich alle in einen Stríng mit <br> getrennt und kann hinterher eine Liste der Fehlerhaften Dateien ausgeben.
Jetzt habe ich aber das Problem, dass die neuen aber wegen Fehler nicht hochgeladenen Dateien älter sind als das aktuelle Sync-Datum, also werden die beim nächsten mal aufgrund des Alters nicht mehr erwähnt und vergessen. Da dachte ich mir, schreib Dir die Dateinamen in einen Array(oder String?), und nachdem der aktuelle Sync-Zeitpunkt eingetragen wurde, änderst Du das Datum der Dateien in einer Schleife mit touch().
Soweit die Theorie, aber wie mache ich das am besten in der Praxis?
Wie kann ich den immer die Aktuelle Datei in der Schleife in einen Array schreiben, oder doch liebr in einen String?
Grüße
Andreas
Hi,
Wie kann ich den immer die Aktuelle Datei in der Schleife in einen Array schreiben,
mit array_push().
oder doch liebr in einen String?
Nein. Du willst schließlich n Elemente haben; dazu ist ein Array da.
Cheatah
Huhu Andreas
warum benutzt Du eigentlich keinen FTP-Client der das synchronisieren von Verzeichnissen beherscht.
PHP kann zwar vieles, aber man muss es sich ja nicht unnötig komplizierter machen als es ist oder?
Viele Grüße
lulu
Hi!
warum benutzt Du eigentlich keinen FTP-Client der das synchronisieren von Verzeichnissen beherscht.
Da ich das nicht selbst machen werde und die Leute damit wohl überfordert wären! OK, so kompliziert ist das nicht, aber da ich 2 recht komplexe Datenbanken miteinander auf Knopfdruck synchronisiere, wollte ich das mit dem Bildverzeichnis halt direkt mitmachen, ist ja auch gar nicht so schwer, jetzt weiß ich ja wie es geht!
Nochmal zum Array, was sricht dagegen, das so zu machen:
$array[]=$Variable
in jeder Schleife?
Grüße
Andreas
Hi,
Nochmal zum Array, was sricht dagegen, das so zu machen:
$array[]=$Variable
funktioniert es denn?
Cheatah
Hi!
Nun, im Manual stand:
"array_push() behandelt array als Stapel (Stack), und fügt die übergebenen Variablen an das Ende von array. Die Länge von array wird dabei um die Anzahl der angefügten Variablen erhöht. Dies hat den selben Effekt wie:
$array[] = $var;"
Und da ich 2. Variante einfacher fand:)
Aber Durch Dich bin ich da erst drauf gestoßen, nur ich verstehe nicht ganz den Vorteil von array_puch(), wenn es auch nicht mehr kann als die 2. Varianbte? Wofür gibt es denn dann eine eigene Funktion? Und vor allem kanntest Du die ja ancheinend, also wird die irgendwas besonders haben, oder?
Grüße
Andreas
Huhu Andreas
mit array_push kann man z.B. auch eine Liste, also mehrere Elemente auf einmal an ein Array anfügen.
Das geht mit der
$tmp[]='jupp';
Schreibweise nicht.
Es ist mehr eine Faulenzer-Schreibweise für den häufig benötigten Fall, daß man ein einzelnes Element an das Array anhängen möchte.
Das wird allerdings nur von einigen Programmiersprachen unterstützt.
Hingegen sind 'push','pop','shift','unshift','merge' und 'splice' die üblichen Verfahren zur Arbeit mit Arrays. Dieses Vokabular wird so oder ähnlich von jeder[1] Programmiersprache unterstützt und ist auch unter diesen Begriffen in der jeweiligen Funktionsreferenz zu finden.
Es ist natürlich legitim die Kurzschreibweise zu verwenden die ist aber nicht in jeder Sprache verfügbar.
Viele Grüße
lulu
[1] Da hab ich mich jetzt weit aus dem Fenster gelehnt, ich hoffe ich falle nicht hinunter ;-)