好吧,其實我這人不看重訪問量的,但是今天一天的訪問量比我去年發的一篇還要多.
我還是有點小小的驚訝的.作為一個做技術的屌絲.不,我不認為自己是屌絲,我覺得編程是一件高大山的職業.雖然很累,但是確實能讓你每天的生活很充實.
No matter whether you believe it or not,anyhow I believe it.
今天接著上一篇來說,我們只是簡單的文章的上傳和修改.
如果涉及到附件呢.在修改的時候如果需要更換附件的時候,這真的是一件很頭痛的事情.
我不知道大家是怎樣實現的.下面我分享一下我的方法吧.
在頁面中我是這樣實現的.
我在後台進行添加操作.
首先我們再開始接收數據.如title,content的內容.判斷內容是否為空,為空直接返回.
如果有我們需要判斷一下是否有附件,如果有附件的話,我們先通過程序將其移動到項目的uploads文件夾中,
如果失敗的話,我們就直接返回了.
好,上程序.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
if($_FILES['file']['name'])
//開始對提交的附件進行處理.
如果成功,則可以得到我們附件的名稱和上傳的地址等信息,看你需要什麼
如果失敗的話
返回錯誤.
}
$arr = array(
'title' => $title,
'content' => $content;
'filename' => ///
'filepath' => ///
);
$flag = 進行插入操作..
if($flag) $str = "成功";
else $str = "失敗";
$this->success("添加".$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板內容....
現在我們如果是要修改該內容的話.
我想到了一個方法..
在頁面中,如果有附件,我們顯示圖片的名稱.如果需要修改,我們就將file的提交框顯示出來..
我只寫關鍵部分了哈..
<script type="text/javascript">
//這裡我們使用jquery來實現.
function show_file(o){
$this = $(o);
$this.hide();
$this.next().show();
}
</script>
搞定了...這樣在前台還是比較美觀的吧...
後台的邏輯有點復雜了..
首先你要判斷是否有附件,如果沒有,你就不能往數據庫裡面寫入空值,如果數據庫裡本來有,現在用戶沒有修改附件,如果統一的往數據庫裡面寫內容.則會覆蓋..
我說下我的思路.
首先還是判斷title,content是否為空.
如果不為空,判斷是否有附件,如果有附件,我們就進行統一的接收操作.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
//這裡我們先定義一個數組..
$data = array();
if($_FILES['file']['name'])
//開始對提交的附件進行處理.
如果成功,則可以得到我們附件的名稱和上傳的地址等信息,看你需要什麼
如果失敗的話
返回錯誤.
成功
$data['filename'] = //文件名
$data['filepath'] = //文件路徑.
}
$arr = array(
'title' => $title,
'content' => $content
);
if(!$_POST['id']){
$flag = 進行插入操作..
$type = "添加";
}else{
$flag = 進行修改操作.
$type = "修改";
}
if($flag) $str = "成功";
else $str = "失敗";
$this->success($type.$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板內容....