【问题标题】:Codeginiter : chmod(): Invalid argument errorCodeigniter:chmod():无效参数错误
【发布时间】:2017-01-03 05:21:05
【问题描述】:

我正在使用pdftk 库来修改 pdf 文件。但我收到chmod(): Invalid argument 错误。

以下是我的代码:

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

我已授予文件夹和文件的所有必要权限。但不知道怎么回事??

提前致谢!!!

【问题讨论】:

    标签: php codeigniter pdf-generation pdftk


    【解决方案1】:

    为什么需要将chmod($fdf,0777); 提供给$fdf。它甚至不是文件。根据您的代码,$fdf = createXFDF( $pdf_file_url, $acord ); 正在调用函数,它不是文件。所以只需评论chmod($fdf,0777); 行并检查您的代码是否正常工作??

    希望对你有帮助!!!

    【讨论】:

    • 嗯!!我觉得没错……第一个参数应该是filename。感谢您的帮助:)
    【解决方案2】:

    尝试这样...对于chmod() 函数,第一个数字始终为零。

    chmod(file,mode);
    

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

    【讨论】:

    • 我也试过了...chmod($fdf,0777); 但没用 :(
    • 尝试使用07770755
    • echo $fdf ..它是正确的文件夹名称吗?
    • 是的,这是正确的,因为我的 createXFDF 函数正在调用。我确实检查了它
    猜你喜欢
    • 1970-01-01
    • 2016-08-17
    • 2016-01-05
    • 2020-10-16
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多