當(dāng)用戶有特殊要求時(shí),程序員不得不研究 Ewebeditor 的代碼,相當(dāng)麻煩。我就是經(jīng)歷過這個(gè)過程終于實(shí)現(xiàn)了客戶的一個(gè)要求:網(wǎng)頁(yè)上在某些文字后面做一個(gè)鏈接,用戶點(diǎn)擊后出現(xiàn)一個(gè)圖片或一個(gè)詳細(xì)介紹或一段視頻??紤]到網(wǎng)頁(yè)上只顯示某些文字,我設(shè)置了這樣的一個(gè)功能:上傳時(shí)將文件名該為要顯示的某些文字,上傳時(shí)我們可以截取那些文字(去掉文件類型)??紤]到管理員刪除時(shí)要將 Ewebeditor 上傳的文件也刪除,我們必須將文件的路徑提取出來并把它們存入數(shù)據(jù)庫(kù);并且每一次有可能上傳多個(gè)文件,我們必須把多個(gè)文件的路徑都讀出來并且要存入到數(shù)據(jù)庫(kù)表格的一個(gè)字段中,所以我把路徑寫入到 $_SESSION 中,然后在另外一個(gè)頁(yè)面將文件的路徑進(jìn)行處理。
1. 首先要賦給 uploadfile 權(quán)限,使這個(gè)文件夾能被寫入和讀出。
2.include/upload.php
復(fù)制代碼 代碼如下:
// 保存操作
function DoSave()
{
global $sContentPath,$sSaveFileName,$sOriginalFileName;
DoUpload();
$sPathFileName = $sContentPath . $sSaveFileName;
$pathnum = count( $_SESSION["ewebpath"] );
$_SESSION["ewebpath"]["$pathnum"] = $sPathFileName;
// 獲取 eweb 上傳的文件的路徑,并且把每次上傳的文件的路徑寫入 session , 在另一個(gè)頁(yè)面得到路徑后寫入數(shù)據(jù)庫(kù)
/*$path = array();
$pathnum = count( $_SESSION["ewebpath"] );
for( $i=0; $i$pathnum; $i++ )
{
$path[$i] = $_SESSION["ewebpath"][$i];
$path[$i] = substr( $path[$i], 8 ); // 此處喲啊根據(jù)實(shí)際情況對(duì)路徑進(jìn)行處理
}
$path = implode( '|', $path );
session_unregister( "ewebpath" );*/
OutScript("parent.UploadSaved('$sPathFileName');var obj=parent.dialogArguments.dialogArguments;if (!obj) obj=parent.dialogArguments;try{obj.addUploadFile('$sOriginalFileName', '$sSaveFileName', '$sPathFileName');} catch(e){}");
}
3.startup.php 中修改 ewebeditor 支持的上傳文件的格式。
4.dialog/file.htm
復(fù)制代碼 代碼如下:
// 取文件名到隱藏的輸入框
function GetFileName(url, opt)
{
d_filename.value=url.substr(url.lastIndexOf(opt)+1);
// 取不帶后綴的文件名(如 “ 信號(hào)與系統(tǒng) .doc” 將得到 “ 信號(hào)與系統(tǒng) ” )
s1=d_filename.value.split(".");// 分割字符串
d_filename.value=s1[0];
}