Domanda

Attualmente sto usando i seguenti due comandi per generare istruzioni client popolate dalle tabelle MySQL. Esistono tre variabili, client_id, date_start. Date_end

wget -O mypage.html "http://mypage.php?client_id=var1&date_start=var2&date_end=var3"

wkhtmltopdf-i386 --margin-left 5mm --margin-right 5mm mypage.html mypage.pdf

Funziona perfettamente e produce dichiarazioni utilizzabili. Quello che ora vorrei fare è implementare una pagina Web utilizzando tre menu a discesa per selezionare ogni variabile anziché digitarla direttamente nella riga di comando Linux. L'utente selezionerebbe il client, la data di inizio e la data della data, utilizzando l'interfaccia Web, quindi fare clic su "Stampa report". Ciò invierebbe le variabili alla riga di comando ed eseguirebbe le due righe visualizzate sopra.

So come creare forme ma non riesco a capire come passare le variabili alla riga di comando ed eseguire queste 2 righe. Sono sicuro che è semplice se qualcuno può aiutare?

Grazie molto

È stato utile?

Soluzione

//assumes, you have extracted $clientid, $startdate, $enddate from your $_REQUEST and validated them

$command="wget -O mypage.html \"http://mypage.php?client_id=$clientid&date_start=$startdate2&date_end=$enddate\"";
exec($command, $output, $status);
if ($status!=0) die("wget failed");


$command="htmltopdf-i386 --margin-left 5mm --margin-right 5mm mypage.html mypage";
exec($command, $output, $status);
if ($status!=0) die("htmltopdf failed");

Insidie: dovresti usare /path/to/wget e /path/to/htmltopdf-i386 Per essere sicuro, il tuo percorso è ok

Altri suggerimenti

http://php.net/manual/en/function.system.php è la risposta alle tue esigenze :)

Ottiene anche l'output per te (in caso di messaggi di errore ecc., Molto utile)

Per eseguire più comandi usa && eg: system ("ls && exit");

Ho lo stesso problema, quando provo a eseguirlo dalla riga di comando funziona come un fascino, ma, se provo a eseguirlo tramite browser non funziona.

Ho persino testato con la riga di comando lo stesso pezzo di codice in un file test.php. Nella riga di comando genera il file PDF ma nel browser non lo fa.

Hai assegnato la tua domanda come risposta. Non riesco a vedere dov'è la risposta giusta ...

Forse hai lo stesso problema risolto in questa domanda Exec () Problema con il comando lungo in PHP

Guarda Modifica 3

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top