У меня есть сценарий оболочки, написанный, который будет использовать LibreOffice для преобразования файла docx в pdf. Это прекрасно работает. То, что я пытаюсь сделать, - это как-то вызвать этот сценарий оболочки из моего контроллера CodeIgniter, чтобы он запускался каждый раз, когда вызывается контроллер.Можно ли вызвать сценарий оболочки изнутри контроллера CodeIgniter?
В настоящее время, я попытался:
Мой сценарий оболочки "convert_to_pdf":
cd /applications/libreoffice.app/contents/macos
./soffice --headless --convert-to pdf --outdir /applications/mamp/htdocs/convert /applications/mamp/htdocs/convert/testDoc.docx
Мой контроллер содержит это, который я пытался использовать, чтобы запустить скрипт:
shell_exec("/usr/local/bin/convert_to_pdf");
Я новичок во всем этом, поэтому я даже не уверен, что это возможно. Я знаю, что сценарий оболочки работает, когда я запускаю его с терминала, но я не могу заставить его использоваться в контроллере. Есть идеи?
Спасибо за помощь заблаговременно!
EDIT
я получил эту работу, используя следующие в моем контроллере:
exec('cd /applications/libreoffice.app/contents/macos/ && ./soffice --headless --convert-to pdf --outdir /applications/mamp/htdocs/convert /applications/mamp/htdocs/convert/testDoc.docx', $output, $return);
Однако, я немного беспокоюсь о проблемах безопасности, связанных с этим. Есть что-то, чего я не хватает?
Я попробовал, что только сейчас, и нет ничего вернулся. Просто теги. Я также гарантировал, что shell_exec включен, так что это не так. Вы знаете, правильно ли я использую shell_exec? – jldavis76
Имеет ли сценарий 'convert_to_pdf' правильные разрешения? Попробуйте 755 –