браузер — PHP Выполнить командную строку со страницы

У меня есть блок кода PHP, который передает URL к плагину под названием wkhtmltopdf и рендерит PDF страницы, используя webkit.

Мой код прекрасно работает в IE и Firefox, которые являются основными двумя, которые мы используем, но некоторые из наших руководителей используют Safari, и код не запускается.

if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST'){

// DEVELOPMENT CODE
$newPDF = md5($qid . time()). '.pdf';
$current = getcwd() . '\\exports\\';

$WshShell = new COM("WScript.Shell");
$WshShell->exec($current.'makeWKPDF.bat "'.$fileURL.'&ref=nomenu" '.$newPDF);

// had to add this because shell isnt waiting for the file to finish before continuning
sleep(10);

// get the contents of the new PDF file
$pdf = file_get_contents($toolURL."exports/".$newPDF);

// push the PDF File to the browser
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="Initiative '.$intID.' Export.pdf"');

// push the PDF to the browser
echo $pdf;

// delete the PDF
@unlink($current.$newPDF);
}

Мое первое и единственное предположение на данный момент заключается в том, что Safari не поддерживает new COM Я создаю?

Может ли кто-нибудь подтвердить, так ли это и возможный обходной путь; делал какие-то исследования и ничего не могу найти по этому поводу.

ОБНОВИТЬ
Я также обнаружил, что это не работает в IE8. Я думаю, что обе проблемы указывают на то, как PHP создает COM-объект, но я не уверен в другом способе заставить это работать.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]