![]() |
Daten - Upload - MySQL
Hi,
ich komme nicht weiter. Ich will Daten von Ort X abrufen und ins Internet stellen. An Ort Y soll auf diese Daten zugegriffen werden. Die Anzahl der Daten kann variieren, also von einem Datensatz bis > 1000 DS. Habe mir vorgestellt das ich die Daten an Ort X via INDY IdFTP als Datei ins Netz stelle, dann ein PHP Script anstosse das die Datei nimmt, ausliest & die Daten in die MySQL DB schreibt. Anschließend wird die Datei auf dem Server in ein anderes Verzeichnis kopiert. An Ort Y kann jetzt der Import erfolgen. Dazu wird eine PHP WEB Seite aufgerufen, ein Datum übergeben und alle Daten nach diesem Zeitraum werden auf dem Server in eine Datei geschrieben. Der Download erfolgt via UrlDownloadToFile, Lokal importieren usw... Das funktioniert ! Was ich nicht wollte: Ich kann mit dem Netzwerksniffer Packetyzer ( ![]() IdFTP.Username := 'TEST'; IdFTP.Password := 'kannichlesen'; IdFTP.Host := 'ftp.adresse.de'; Meine Frage: Ist es überhaupt sinnvoll den Datenupload so durchzuführen oder sollte man die Daten anders übertragen ? Danke für ne Anregung / einen Denkanstoss user0815 |
Re: Daten - Upload - MySQL
Wenn du es selber steuern kannst, nimm eine sichere Methode. Du kannst auch Verschlüsselungsverfahren benutzen. Das Transportprotokoll (soweit FTP) solltest du abstrahieren. Ggf. durch SFTP, FTPS oder SCP ersetzen.
Ein POST-Request zum hochladen ginge auch. |
Re: Daten - Upload - MySQL
Habe das ganze jetzt mit einem Post Request umgesetzt.
Delphi-Quellcode:
test.php Code
uses
IdMultipartFormData; ... procedure TForm1.Button1Click(Sender: TObject); var filename: TFileName; Data : TIDMultiPartFormDataStream; begin filename := ExtractFilePath(ParamStr(0)) + 'test.txt'; // Anwendungsverzeichnis if FileExists(filename) then begin try Data := TIdMultiPartFormDataStream.Create; Data.AddFile('userfile', filename, 'txt'); Data.Position := 0; Memo1.Lines.Text := IdHTTP.Post('http://localhost/eigenesverzeichnis/test.php', Data); finally Data.Free; end; end; end;
Code:
Memo Feld Ausgabe
<?php
/* In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead of $_FILES. basename ========================================================================================== $path = "/home/httpd/html/index.php"; $file = basename($path); // $file is set to "index.php" $file = basename($path, ".php"); // $file is set to "index" $_FILES ========================================================================================== $_FILES['thefile']['name'] Der Name der Datei, wie sie auf dem Clientsystem genannt wurde. Eventuelle Verzeichnisangaben werden nicht mitgesendet. $_FILES['thefile']['tmp_name'] Pfad und Name der temporären Datei, wie sie im Filesystem des Servers zu finden ist (meistens in der Form /tmp/php234lksdaflk) - diese Datei wird am Skriptende wieder gelöscht. $_FILES['thefile']['size'] Die Größe der Datei in Bytes $_FILES['thefile']['type'] Der Mime-Type der Datei, wie der Client sie lieferte (z.B. image/gif). $_FILES['userfile']['error'] The error code associated with this file upload. This element was added in PHP 4.2.0 */ $uploaddir = getcwd() . "/upload/"; // getcwd = Gets the current working directory $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:\n'; print_r($_FILES); print "</pre>"; ?>
Code:
Greetz
<pre>File is valid, and was successfully uploaded.
Here is some more debugging info:\nArray ( [userfile] => Array ( [name] => test.txt [type] => txt [tmp_name] => D:\xampp\tmp\phpFE.tmp [error] => 0 [size] => 89019 ) ) </pre> user0815 |
Re: Daten - Upload - MySQL
Ggf. würde sich noch eine Absenderprüfung bzw. eine Prüfung der Daten anbieten. Über Post kann dir schließlich jeder was schicken.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz