2017-06-27 88 views
0

我正在尋找改變我們目前使用RTF文件的intranet,以便它可以與docx一起使用。TinyButStrong和動態文件路徑

我們需要能夠更改模板,並在此之後注入來自Intranet的一些數據,並將其保存爲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. 

我不認爲這是一個premission錯誤,因爲我在這正與我們的RTF文件相同的腳本工作,他們得到保存在同一位置,因爲我需要這樣做。

但我確定這只是我,不明白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

是的,我使用的是OpenTBS插件,但我無法一路追隨你。 我有這段代碼,它正在工作。如果($ divers!=「forkal」){ \t \t { \t \t \t $ fp = fopen($ file,'w'); \t \t \t fputs($ fp,$ output); \t \t \t fclose($ fp); \t \t} Basicly我想擺脫這一點,使用OpenTBS代替 但我guesing的輸出文件名,我提供錯莫名其妙 –

+0

對於一個強大的調試,試試你的片斷'$ FP ='$ TBS-> Show(OPENTBS_FILE,$ output_file_name)'之前的$ fopen($ file,'w')'並且使用相同的變量'$ output_file_name'。 – Skrol29

+0

嗯,那什麼都不做 - 沒有錯誤或者沒有創建文件... –

-1

我有同樣的錯誤,就像你與OPENTBS 和在我的情況,這是很簡單的,我忘了創建目錄文件夾 存儲輸出文件