Dennis12: Batch Datei ausführen - Parameter übergeben

Hi,

ich führe mit PHP eine Batch Datei aus. Die Parameter werden im folgenden übergeben:

1: exec ("gen_preview.bat $cid");
(hierbei wird nur $cid übergeben)

nun würde ich zusätzlich noch das was in Variable $name steht übergeben...
$name=$_FILES["file"]["name"]

Das nimmt er aus irgendeinem Grund nicht, ich kann mir den Fehler auch nicht anzeigen lassen. Wisst ihr wie die korrekte Schreibweise lautet?

1: exec ('gen_preview.bat $cid $_FILES["file"]["name"]')
geht ja nicht...

Grüße
Dennis

  1. Hi Dennis,

    nun würde ich zusätzlich noch das was in Variable $name steht übergeben...
    $name=$_FILES["file"]["name"]
    1: exec ('gen_preview.bat $cid $_FILES["file"]["name"]')
    geht ja nicht...

    nein, denn bei Strings in einfachen 'Anführungszeichen' werden keine Variablen ersetzt. Aber warum verwendest du die einfachen Anführungszeichen nicht bei den Indizes, die ja konstante Ausdrücke sind? So etwa:

    1: exec ("gen_preview.bat $cid $_FILES['file']['name']")

    Da stößt du aber vielleicht noch an die Verständnisgrenzen der Variablen-Ersetzung in Strings. Komplexe Ausdrücke wie z.B. Arrayzugriffe werden da nicht immer korrekt erkannt. Schreibe daher den Ausdruck lieber außerhalb des Strings aus und füge das Ganze mit Stringverkettung zusammen:

    1: exec ("gen_preview.bat $cid " . $_FILES['file']['name'])

    Das sollte auf jeden Fall laufen.

    So long,
     Martin

    --
    Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.