2017-06-27 16 views
0

RTFファイルで動作する現在のイントラネットを変更してdocxと連携できるようにしています。TinyButStrongと動的ファイルパス

テンプレートを変更した後、イントラネットからデータを注入してdocxファイルとして保存する必要があります。

私はTinyButStrongプラグインを見つけましたが、これはできることだと思われます。

私はいくつかのテストを行い、テンプレートと同じフォルダにファイルを保存することができます。しかし、私は別の場所に保存することはできません。

それは私に、このエラーを与える:

TinyButStrong Error OpenTBS Plugin: Method Flush() cannot overwrite the target file '//SERVER/SHARE/FOLDER/SUBFOLDER/ANOTHER SUBFOLDER/document name.docx'. This may not be a valid file path or the file may be locked by another process or because of a denied permission. The process is ending, unless you set NoErr property to true. 

私は私が私たちのRTFファイルで作業されているのと同じスクリプトで働い原因、それはpremissionエラーだとは思わない、と彼らは同じ場所に保存されます私はこれが必要です。

しかし、私はそれが私のものだと確信しています、それは正しい方法でTinyButStrongを理解しません、どうすれば動的なファイルパスに保存するのですか?

ここでは、動的ファイルパスを処理しようとしています。

 $file = "//$SERVER/$KATALOG/".$_GET['type'].$root.$nr."/"; //.$_GET['type'].$nr."R".$rev."-".$sprog.".rtf"; 


    //echo $template; 
    $output_file_name = str_replace('.', '_'.date('Y-m-d').$save_as.'.', $filename); 
    echo $output_file_name = $file . $output_file_name; 
    if ($save_as==='') { 
     // Output the result as a downloadable file (only streaming, no data saved in the server) 
     $TBS->Show(OPENTBS_DOWNLOAD, $output_file_name); // Also merges all [onshow] automatic fields. 
     // Be sure that no more output is done, otherwise the download file is corrupted with extra data. 
     exit(); 
    } else { 
     // Output the result as a file on the server. 
     $TBS->Show(OPENTBS_FILE, $output_file_name); // Also merges all [onshow] automatic fields. 
     // The script can continue. 
     exit("File [$output_file_name] has been created."); 
    } 

答えて

0

TinyButStrong用のOpenTBSプラグインを使用しているようです。

OpenTBSは、ターゲットファイルを書き込むときにPHP関数fopen($File, 'w')を使用するだけです。

エラーメッセージは、PHPが書き込みモードでこのファイルのハンドルを開けなかったことを示しています。レイズンはさまざまかもしれませんが、あなたが言及したファイルパスであなた自身を確認することができます。

+0

を格納するディレクトリフォルダ を作成するのを忘れていることは非常に簡単ですしかし、私はずっとあなたに従うことができません。 私はこのコードを使用しています。 \t \t($多様= "forkal"!){ \t \t \t $ FP =のfopen($ファイル、 'W')であれば、 \t \t \t fputs($ fp、$ output); \t \t \t fclose($ fp); \t \t} Basiclyが、私はそれを取り除くためにしようとし、代わりに をOpenTBSを使用しかし、私は、あなたのスニペットを試しoutput_file_nameに、私は提供していますが、強力なデバッグのために –

+0

何とか間違っていることguesingてるよ '$ fpは'$ TBS-> Show(OPENTBS_FILE、$ output_file_name)'の直前に '= fopen($ file、 'w')'を置き、 '$ output_file_name'と同じ変数を使用します。 – Skrol29

+0

うーん、何もしない - エラーもファイルも作成されていない... –

-1

私はOPENTBS であなたのような同じエラーを持っているし、私の場合には、それは私がはい、私はOpenTBSプラグインを使用していた出力ファイル

関連する問題