Ich habe ein Problem beim Verbinden von zwei verschiedenen Prozessen, die ich arbeite. Ich habe die Aufgabe, Daten aus einer Datenbank zu ziehen, eine Datei aus den Daten zu erstellen und sie dann auf einen FTP-Server hochzuladen.Erstellen und Hochladen einer Datei in PHP auf einen FTP-Server ohne lokal zu speichern
Bisher habe ich die Datei erstellt und zum Download wird mit diesem Code, $out
ein String ist, der die vollständige Textdatei enthält:
if ($output == 'file')
{
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: ".strlen($out));
header("Content-type: application/txt");
header("Content-Disposition: attachment; filename=".$file_name);
echo($out);
}
Dies funktioniert, wenn ich will nur das Skript in einem Browser laufen und lade die Datei herunter, aber ich möchte sie stattdessen an einen FTP-Server senden.
Ich weiß meine Verbindung mit dem FTP-Server funktioniert einwandfrei, und ich bin korrekt zum richtigen Verzeichnis navigieren, und ich habe Dateien von der Festplatte und legte sie auf dem FTP mit ftp_put()
, aber ich bin auf der Suche Nehmen Sie $out
und schreiben Sie es direkt als Datei mit $filename
als Name auf dem FTP-Server. Ich kann Dinge falsch interpretieren, aber als ich versuchte ftp_put
und ftp_fput
, schien es, dass sie Dateispeicherorte, nicht Dateiströme wollen. Gibt es eine andere Funktion, die ich berücksichtigen könnte?
Das ist, was ich suche, danke. –