Dateien Versand mit PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
backup
beispiel
bestimmtes skript
datei
daten
email
format
funktion
inhalt
lokal
meinst
nutzen
ordner
schauen
skript
space
speicher
wute garnicht
zusammen
-
klaro...
schau dir einfach ein php script von einem uploader an und sezier es so, das du es nutzen kannst.
-AlienDwarf -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ttobsen schrieb:
Kann ich mit einem PHP Script [...] Dateien auf einen installierten Webserver auf meinem Rechner mir senden?
Ich vermute mal, du meinst, vom Webserver auf deinen Rechner, oder?
Wenn ja: Es ist sinnvoller, die Dateien ganz normal runterzuladen. Ein gutes Programm, dass man dazu benutzen kann mit vielen Optionen und zur Benutzung in (Shell- oder DOS-)Skripts geschaffen, ist wget. Gibts f?r Linux und Win. -
ttobsen schrieb:
aber ich kann ja nicht per Cronjob mein Programm jede Woche ausf?hren lassen.
Wieso soll das nicht gehen? Lass den Cronjob doch lokal bei dir auf dem Rechner laufen.
ttobsen schrieb:
Ich m?chte halt das ich meinen Rechner einfach laufen lassen kann und die Backups werden dann automatisch gemacht.
Ich w?rde das so machen, dass lokal vom PC per Cronjob ein bestimmtes Skript auf dem Server aufgerufen wird und dieses Skript stellt das Backup zusammen und gibt es als Antwort zur?ck.
Was genau willst du denn sichern? -
Zum Backup ist es sinnvoll die Daten automatisch zu packen... Z.B. als Zip- oder gz-Datei. Und diese dann je nach gr??e per mail zu verschicken, oder per ftp/http zu saugen. Theoretisch reicht es dann, wenn du dir lokal eine kurze HTML/JavaScript schreibst, und diese dann in deinem Browser permanent laufen laesst.
Von der Theorie: Dein JavaScript laedt nacheinander die URLs zum erzeugen des Zip und anschliessend zum download. Die meisten Browser kann man so einstellen, dass sie Dateien automatisch speichern... Schon haste deine Backup-Funktion...
Etwas aehnliches hab ich eine Zeit lang erfolgreich laufen lassen.
magikus -
sorry, aber bei meinem alkoholpegel bin ich froh, wenn ich mich am satzende, noch an den satzanfang erinnern kann... ;)
magikus -
@Vorposter:
Na ja, seien wir mal gn?dig und lassen den zweiten deiner Posts stehen, aber auch nur, weil es so eine ausgefallene Entschuldigung ist
@topic:
Hmm, mit PHP-Dateien ist nat?rlich schlecht. Das Problem ist, dass man die nat?rlich nicht per HTTP runterladen kann. Das mit dem Zippen ist auch etwas unsinnig, da die von PHP (hier) unterst?tze ZIP-Bibliothek (zlib) nur GZIP unterst?tzt und dieses Format nicht wie das WinZip mehrere Dateien in eine reinkomprimiert, sondern jedes Mal nur eine einzige f?r sich selbst komprimiert. (Das Zusammenfassen von mehreren komprimierten Dateien in eine einzige Datei wird unter Unix/Linux normalerweise mit tar gemacht, was von PHP standardm?ssig aber nicht bereitgestellt wird).
Ich w?rde es f?r das sinnvollste halten, wenn du dir auf deinem Rechner eine Batchdatei/ein Shellskript anlegst, das einen wget-Aufruf vornimmt. Dieses Skript l?sst du dann per Cronjob (bzw. at auf Windows) starten. In das Skript selbst schreibst du nur folgendes rein:
wget -r --passive-ftp ftp://username:passwort@ftp.deinserver.lima-city.de/html/
Damit wird alles, was im html-Ordner liegt, per FTP runtergeladen.
H?ttest du deine Daten statt im Dateiverzeichnis in einer DB eingetragen, w?rdest du dir sehr viel FTP-Traffic ersparen.
Es gibt noch eine weitere M?glichkeit, die allerdings sehr belastend f?r den Server ist und mehr Traffic verursacht. Du k?nntest in PHP ein SMTP-Skript schreiben (von kenny oder geekago gibt es hier ein Tut zu) und das m?sstest du noch um Dateianh?nge erweitern. Das ist nicht besonders schwer. Ich musste das schon paar Mal machen und kann dir als Beispiel auch C oder C++ Code geben, je nachdem, was ich schneller finde. Je nachdem, wieviel Daten du auf deinem Space hast, k?nnte es aber auch sein, das die Ausf?hrungszeit f?r PHP-Skripte ?berschritten und dein Backup nicht rausgesendet wird. Ausserdem ist der Traffic durch die base64-Kodierung der E-Mailanh?nge um ca. 1/3 h?her.
Wenn ich dir was empfehlen w?rde, dann w?re es, deine Webseite so umzugestalten, das ver?nderbare Daten in einer DB gespeichert und du nur ein DB-Backup machen musst. Die zweitbeste Alternative ist das mit wget. Und die wirklich letzte ist das SMTP-Skript. -
ttobsen schrieb:
Aber ich wusste garnicht das ich in eine DB auch Dateien speichern kann und nicht nur irgendwelche Daten
Das meinte ich zwar nicht, aber gehen tut das schon. Du musst ja nur statt den Inhalt in eine Datei zu schreiben den Inhalt einfach in die DB schreiben. Dazu solltest du die betreffende Spalte in deiner Tabelle als text definieren. Solltest du bin?re Dateien speichern wollen, benutz stattdessen den Typ blob. F?r mehr bzw. genauere Tips m?sste ich aber wissen, was du da genau machst. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage