Question

J'utilise actuellement les deux commandes suivantes pour générer des déclarations client remplies à partir de tables mysql.Il existe trois variables, 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

Cela fonctionne parfaitement et produit des instructions utilisables.Ce que je voudrais maintenant faire, c'est implémenter une page Web en utilisant trois menus déroulants pour sélectionner chaque variable plutôt que de la taper directement dans la ligne de commande Linux.L'utilisateur sélectionnerait le client, la date de début et la date de fin, à l'aide de l'interface Web, puis cliquez sur "Imprimer le rapport".Cela enverrait les variables à la ligne de commande et exécuterait les deux lignes affichées ci-dessus.

Je sais comment créer des formulaires mais je ne sais pas comment passer les variables à la ligne de commande et exécuter ces 2 lignes.Je suis sûr que c'est simple si quelqu'un peut vous aider?

Merci beaucoup

Était-ce utile?

La solution

//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");

Pièges: vous devez utiliser /path/to/wget et /path/to/htmltopdf-i386 pour vous assurer que votre PATH est OK

Autres conseils

J'ai le même problème, lorsque j'essaye de l'exécuter à partir de la ligne de commande, cela fonctionne comme un charme, mais si j'essaie de l'exécuter via un navigateur, cela ne fonctionne pas.

J'ai même testé avec la ligne de commande le même morceau de code dans un fichier test.php. En ligne de commande, il génère le fichier pdf mais pas dans le navigateur.

Vous avez attribué à votre question une réponse.Je ne vois pas où est la bonne réponse ...

Peut-être que vous rencontrez le même problème résolu dans cette question problème exec ()avec commande longue en PHP

Regardez Edit 3

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top