Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] PHP Funktion aus Formular aufrufen (https://www.delphipraxis.net/55720-%5Bphp%5D-php-funktion-aus-formular-aufrufen.html)

Luckie 25. Okt 2005 22:40


[PHP] PHP Funktion aus Formular aufrufen
 
Ich habe folgende Funktion in einer PHP Datei:
Code:
  function upload_file($source, $dest, $mode)
  {
    $conn = ftp_connect(SERVER);
    ftp_login($conn, USER, PW);
    $result = f_put($conn, $source, $dest, $mode);
    ftp_close($conn);
    return $result;
  }
und folgendes Formular:
Code:
  <form ENCTYPE="multipart/form-data" ACTION="???" METHOD=POST>
    <input NAME="uploadfile" SIZE=75 TYPE="file">
    <input TYPE="submit" VALUE="Send File">
  </form>
Wie kann ich jetzt die Funktion aus der Datei aufrufen, ihr die nötigen Parameter übergeben und da nach wieder die Seite mit dem Formular anzeigen?

DGL-luke 25. Okt 2005 22:47

Re: [PHP] PHP Funktion aus Formular aufrufen
 
du kannst dem apache doch nicht sagen, er soll bitte php sagen, es solle eine funktion aufrufen und gleichzeitig variablen zuweisen..... ;)

include die funktion in einer php-datei in der du sie mit den $_REQUEST-paramtern aufrufst, und schicke deine form da hin.

ripper8472 25. Okt 2005 22:50

Re: [PHP] PHP Funktion aus Formular aufrufen
 
http://www.php.net/features.file-upload

faux 25. Okt 2005 22:54

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Meinst du in etwa so?

Code:
<?php
function upload_file($source, $dest, $mode)
  { 
    $conn = ftp_connect(SERVER);
    ftp_login($conn, USER, PW);
    $result = f_put($conn, $source, $dest, $mode);
    ftp_close($conn);
    return $result;
  }
if ($_POST['sent'] == '1') {
  upload_file(....);
}
?>
<form ENCTYPE="multipart/form-data" ACTION="<?=$_SERVER['PHP_SELF'] ?>" METHOD=POST>
  <input type="hidden" name="sent" value="1">
  <input NAME="uploadfile" SIZE=75 TYPE="file">
  <input TYPE="submit" VALUE="Send File">
</form>
Grüße
Faux

Luckie 25. Okt 2005 23:01

Re: [PHP] PHP Funktion aus Formular aufrufen
 
@faux: Ich denke schon. Die Upload-Funktion liegt jetzt aber bei dir in der gleichen Datei wie das Formular oder? Und wie kommt die Funktion an die Parameter ran?

@ripper8472: Das habe ich auch schon gefunden, bin nur nicht damit klar gekommen.

faux 25. Okt 2005 23:06

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Zitat:

Zitat von Luckie
Die Upload-Funktion liegt jetzt aber bei dir in der gleichen Datei wie das Formular oder?

Ja, aber du kannst sie auch in eine Datei x.php geben und sie dann einfach per require('x.php'); einbinden.

Luckie 25. Okt 2005 23:10

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Nun ja, die Funktion ist ja schon in einer Datei die per include eingebunden ist. Wie komme ich jetzt aber an die Werte aus dem Formular, damit ich sie der Funktion übergeben kann?

faux 25. Okt 2005 23:21

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Es gibt eine Variable, die $_FILES heißt.

Anmerkung: Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen benutzen Sie das Array $HTTP_POST_FILES.

Da sind alle wichtigen Informationen über die übertragenen Dateien (in deinem Fall ist es nur eine) drinnen.
In deinem Fall:

Code:
$_FILES['uploadfile']['name'] //Name der Datei wie sie auf den System des Uploaders hieß
$_FILES['uploadfile']['size'] //Größe
$_FILES['uploadfile']['typ'] //Mime-Typ der Datei
$_FILES['uploadfile']['tmp_name'] //Name wie die upgeloadene Datei im Temp-Verzeichnis des Servers heißt
Du kannst jetzt zum Beispiel so aufrufen:

Code:
$file = fopen($_FILES['uploadfile']['tmp_name'], 'r');
upload_file($file, 'pfad/am/ftp/server', FTP_ASCII); //oder FTP_BINARY
Wobei ich glaube, dass in der Funktion ein Fehler ist.
Es müsste nicht $result = f_put($conn, $source, $dest, $mode); sondern $result = f_put($conn, $dest, $source, $mode); heißen.

Luckie 25. Okt 2005 23:26

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Wie so Temp Verzeichnis? Und was spielt hier in dem Zusammenhang move_uploaded_file für eine Rolle?

faux 25. Okt 2005 23:30

Re: [PHP] PHP Funktion aus Formular aufrufen
 
Zitat:

Zitat von Luckie
Wie so Temp Verzeichnis? Und was spielt hier in dem Zusammenhang move_uploaded_file für eine Rolle?

Wenn ein User eine Datei hochlädt, wird diese im Temp-Verzeichnis des Servers zwischengespeichert, bis ein Skript damit etwas macht. Also sozusagen "zwischengelagert". Mit move_uploaded_file verschiebt man normalerweise die Datei dann in ein Verzeichnis, wo man sie hin haben will, wobei man das in deinem Fall glaube ich sogar weglassen kann, da die Datei ja auf einen FTP-Server "weitergeleitet" wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz