0

リンクにgetパラメーターを使用してpdfを作成しようとしています。

私のエグゼクティブは次のようになります。

exec('/usr/bin/wkhtmltopdf "' . 'http://www.mysite.be/this/that/other/print?debug=true' . '" ' . $_SERVER['DOCUMENT_ROOT'] . '/pdffile/' . $strPdfName);

手動で URL にアクセスすれば問題ありません。しかし、実行したいときはいつでも、パラメーターが途切れているようです。エラーはありません。誰にもアイデアはありますか?

私は何時間も探していました。それは私を良くしています..

調べてくれてありがとう!

4

2 に答える 2

0

私はそれを見つけました..クエリパラメータが通過していなかったのではなく、pdfが作成されていませんでした.. サーバーにはその名前の pdf が既に存在していたため、古いテンプレートがダウンロードされました。

犯人はCSSにありました:

   @font-face {
     font-family: "Calibri Webfont";
     src: url("http://www.mywebsite.be/temps/def/css/fonts/calibri-webfont.ttf");
     font-weight: normal;
     font-style: normal;
    }

PDF の作成が遅れる理由や、エラーが発生しなかった理由はまだわかりませんが、それは別のことです。

于 2013-09-18T11:30:03.167 に答える
0

おそらく、 escapeshellargを使用して exec に渡すパラメーターをエスケープする必要があります。

$url = escapeshellarg('http://www.kriski.be/skireizen/stages/technische-stage/print?debug=true');
$file = escapeshellarg($_SERVER['DOCUMENT_ROOT'] . '/pdfs/' . $strPdfName);

exec("/usr/bin/wkhtmltopdf $url $file");
于 2013-09-18T08:58:00.720 に答える