2017-01-03 6 views
1

Я использую библиотеку pdftk для изменения pdf-файлов. но я получаю ошибку chmod(): Invalid argument.Codeginiter: chmod(): ошибка недопустимого аргумента

Ниже мой код:

include('fillpdf/createXFDF.php'); 
    $fdf_file = 'fillpdf/acord.fdf'; 
    $acord = array(); 
    $acord['******'] = 'a'; 
    $acord['******'] = 'a'; 
    $pdf_file_url = 'http://localhost/******/fillpdf/Cancellation.pdf'; 
    $fdf = createXFDF($pdf_file_url, $acord); 
    // print_r($fdf); die; 
      if ($fp = fopen($fdf_file, 'w')) { 
       chmod($fdf, 777); 
       fwrite($fp, $fdf, strlen($fdf)); 
       $CREATED = TRUE; 
      } else { 
       echo 'Unable to create file: ' . $fdf_file . '<br><br>'; 
       $CREATED = FALSE; 
      } 
      // var_dump($CREATED); die; 
    fclose($fp); 
    $command = '"C:\\Program Files (x86)\\PDFtk\\bin\\pdftk.exe" C:\\xampp\\htdocs\\*******\\fillpdf\\Cancellation.pdf fill_form acord.fdf output C:\\xampp\\htdocs\\*******\\fillpdf\\Cancellation_new.pdf'; 
    exec($command); 

Я дал все необходимые разрешения на папки и файлы. но не знаю, что не так ???

Заранее благодарен!

ответ

1

Для чего вам нужно указать chmod($fdf,0777); в $fdf. Это даже не файл. согласно вашему коду $fdf = createXFDF($pdf_file_url, $acord); вызывает функцию, и это не файл. поэтому просто прокомментируйте строку chmod($fdf,0777); и проверьте, работает ли ваш код или нет?

Надеюсь, что это поможет !!!

+0

ok дайте мне проверить –

+0

Хммм !! Я думаю, что это правильно ... первый параметр должен быть 'filename'. спасибо за помощь :) –

0

Попробуйте вот так ... Для chmod() функция первого номера всегда равна нулю.

chmod(file,mode); 

Параметр режима состоит из четырех чисел:

1. Первое число всегда равно нулю

2. Второе число определяет права доступа для владельца

3. третий номер указывает разрешения для группы пользователей владельца

4. Четвертое число указывает разрешения для всех остальных

include('fillpdf/createXFDF.php'); 
    $fdf_file = 'fillpdf/acord.fdf'; 
    $acord = array(); 
    $acord['******'] = 'a'; 
    $acord['******'] = 'a'; 
    $pdf_file_url = 'http://localhost/******/fillpdf/Cancellation.pdf'; 
    $fdf = createXFDF($pdf_file_url, $acord); 
    // print_r($fdf); die; 
      if ($fp = fopen($fdf_file, 'w')) { 
       chmod($fdf,0777); 
       fwrite($fp, $fdf, strlen($fdf)); 
       $CREATED = TRUE; 
      } else { 
       echo 'Unable to create file: ' . $fdf_file . '<br><br>'; 
       $CREATED = FALSE; 
      } 
      // var_dump($CREATED); die; 
    fclose($fp); 
    $command = '"C:\\Program Files (x86)\\PDFtk\\bin\\pdftk.exe" C:\\xampp\\htdocs\\*******\\fillpdf\\Cancellation.pdf fill_form acord.fdf output C:\\xampp\\htdocs\\*******\\fillpdf\\Cancellation_new.pdf'; 
    exec($command); 
+0

Я тоже это пробовал ... 'chmod ($ fdf, 0777);' но не сработал :( –

+0

см. Здесь для получения дополнительной информации http://www.w3schools.com/php/func_filesystem_chmod.asp –

+0

попробуйте использовать '0777 'to' 0755' –