Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[991]PHP網站開發 進階應用技巧2」目錄
MarkDown
11. 多媒體RSS
1. 網頁多媒體
2. Superfish下拉選單
2-1 index.php(遞迴範例)
3. 連動選單
3-1 menu1.php
3-2 menu2.php
3-3 menu1.php(索引與值都相同的精簡寫法)
3-4 demo/index.php
4. 表格內容排序
4-1 index.php
5. 拉動表格進行排序
5-1 index.php
5-2 checkbox.html
6. 即時聊天系統
6-1 index.php
7. PHP檔案操作(上)
7-1 index.php
7-2 iconize_l.css
8. PHP檔案操作(下)
8-1 index.php
8-2 index.php 中文目錄修正
9. 相片EXIF資訊及上傳
9-1 index.php
10. 目錄管理及相片特效
10-1 index.php
10-2 exif.php
11. 多媒體RSS
11-1 index.php
11-2 mrss.php
12. 樹狀目錄+HTML5
12-1 index.php
12-2 dtree.js
13. DHX入門(上)
13-1 index.php
13-2 index2.php
13-3 index3.php
13-4 index4.php
14. DHX編輯器及選單
14-1 index.php
14-2 input.php
14-3 setup.php
14-4 list.php
14-5 view.php
14-6 menu.xml
15. 點擊編輯
15-1 index.php
15-2 save.php
16. curl網頁採集
16-1 index.php
16-2 test1.php
17. 讀取RSS
17-1 index.php
18. 無刷新登入
18-1 index.php
18-2 login.php
18-3 index.php(AJAX版)
18-4 login.php(AJAX版)
11-2 mrss.php
\[991\]PHP網站開發 進階應用技巧2 ====================== <?php //基本路徑 $base\_dir="D:/xampplite/htdocs/11/test/uploads"; //基本網址 $base\_url="http://localhost/11/test/uploads"; //檢查是否要切換路徑 $dir=(empty($\_REQUEST\['to'\]))?$base\_dir:str\_replace("\\\\","/",realpath($\_REQUEST\['to'\])); //檢查目前路徑是否在基本路徑之下 $dir=(ereg("^".$base\_dir,$dir))?$dir:$base\_dir; //製作切換網址 $url=str\_replace($base\_dir,$base\_url,$dir); //把切換路徑定義到常數 define("\_UPLOAD\_DIR",$dir); //把切換網址定義到常數 define("\_UPLOAD\_URL",$url); /\*\*\*\*\*\*\*\*\*\*\*\*\*\* 判斷目前要進行的動作 \*\*\*\*\*\*\*\*\*\*\*\*\*\*/ //刪除單一檔案 if($\_GET\['op'\]=="del"){ $file=$\_GET\['file'\]; @unlink(\_UPLOAD\_DIR."/".$file); header("location:".\_UPLOAD\_DIR); //刪除多檔案 }elseif($\_POST\['op'\]=="del"){ if(is\_array($\_POST\['files'\])){ foreach($\_POST\['files'\] as $file){ @unlink(\_UPLOAD\_DIR."/".$file); } header("location:".\_UPLOAD\_DIR); } //搬移多檔案 }elseif($\_POST\['op'\]=="move"){ if(is\_array($\_POST\['files'\])){ foreach($\_POST\['files'\] as $file){ @rename(\_UPLOAD\_DIR."/".$file,$\_POST\['new\_dir'\]."/".$file); } header("location:".\_UPLOAD\_DIR); } //搬移目錄 }elseif($\_POST\['op'\]=="move\_dir"){ $dirname=basename(\_UPLOAD\_DIR); rename(\_UPLOAD\_DIR,$\_POST\['new\_dir2'\]."/{$dirname}"); header("location:index.php?to=".$\_POST\['new\_dir2'\]); //刪除目錄 }elseif($\_GET\['op'\]=="del\_dir"){ $dirname=dirname(\_UPLOAD\_DIR); delTree(\_UPLOAD\_DIR); header("location:index.php?to=".$dirname); //複製目錄 }elseif($\_POST\['op'\]=="copy\_dir"){ $dirname=basename(\_UPLOAD\_DIR); full\_copy(\_UPLOAD\_DIR,$\_POST\['new\_dir2'\]."/{$dirname}\_copy"); header("location:index.php?to=".$\_POST\['new\_dir2'\]); //目錄改名 }elseif(!empty($\_POST\['new\_dir\_name'\])){ $dirname=dirname(\_UPLOAD\_DIR); rename(\_UPLOAD\_DIR,$dirname."/".$\_POST\['new\_dir\_name'\]); header("location:index.php?to=".$dirname); }elseif(!empty($\_POST\['mk\_dir'\])){ mk\_dir(\_UPLOAD\_DIR."/".$\_POST\['mk\_dir'\]); header("location:".\_UPLOAD\_DIR); }elseif(!empty($\_FILES\['pic'\]\['tmp\_name'\])){ foreach($\_FILES\['pic'\]\['tmp\_name'\] as $i => $tmpname){ move\_uploaded\_file($tmpname , \_UPLOAD\_DIR."/{$\_FILES\['pic'\]\['name'\]\[$i\]}"); } } //開啟目錄 $dh=opendir(\_UPLOAD\_DIR); $main=" <script src='js/jquery-1.3.2.min.js' type='text/javascript'></script> <script src='js/jquery.MultiFile.js' type='text/javascript'></script>
<script type='text/javascript'> $(document).ready(function() { var wh=$(window).height(); var th=$('#tool').height(); $('#tbl').height(wh); w1h=wh-th; $('#w1').height(w1h); w2h=wh-th-15; $('#w2').height(w2h); }); </script>
<form action='{$\_SERVER\['PHP\_SELF'\]}' method='post' enctype='multipart/form-data'> <table style='width:1000px;' class='tinytable'
id='tbl'
> <tr><td style='width:400px;'> <div style='overflow:auto;'
id='w1'
> <table class='tinytable' style='width:100%;'> <tr><td colspan=4>$dir</td></tr> <tr><th>檔名</th><th>大小</th><th>類型</th><th>功能</th></tr>"; //讀取目錄 while($file=readdir($dh)){ if($file==".")continue; //檢查得到的檔案其類型 $type=filetype(\_UPLOAD\_DIR."/".$file); //依據類型放到不同目錄中 if($type=="dir"){ $dir\_arr\[\]=$file; }else{ $file\_arr\[\]=$file; } } //秀出目錄 if(is\_array($dir\_arr)){ foreach($dir\_arr as $sub\_dir){ $size=($sub\_dir=="..")?"":dirSize(\_UPLOAD\_DIR."/".$sub\_dir); $size=($sub\_dir=="..")?"":formatBytes($size,1); $del=($sub\_dir=="..")?"":"<a href='index.php?op=del\_dir&to=".\_UPLOAD\_DIR."/".$sub\_dir."'>刪除</a>"; $main.= "<tr><td><a href='index.php?to=".\_UPLOAD\_DIR."/".$sub\_dir."'>$sub\_dir</a></td><td>$size</td><td>目錄</td><td>$del</td></tr>"; } } //秀出檔案 if(is\_array($file\_arr)){ foreach($file\_arr as $file){ $size=filesize(\_UPLOAD\_DIR."/".$file); $size=formatBytes($size,1); $exif=(strtolower(substr($file,-3))=="jpg")?" (<a href='exif.php?file=".\_UPLOAD\_DIR."/{$file}#' target='show'>exif</a>)":""; $main.= "<tr><td><a href='".\_UPLOAD\_URL."/{$file}' target='show'>$file</a>$exif</td><td>$size</td><td>檔案</td><td> <input type='checkbox' name='files\[\]' value='$file'> <a href='{$\_SERVER\['PHP\_SELF'\]}?file=$file&op=del& to=".\_UPLOAD\_DIR."'>刪除</a></td></tr>"; } } $main.=" </table> </div> </td><td><iframe
id='w2'
name='show' style='width:100%;border:1px solid gray;'></iframe></td></tr> <tr id='tool'><th colspan=2> <input type='hidden' name='to' value='".\_UPLOAD\_DIR."'> 將「".\_UPLOAD\_DIR."」<input type='radio' name='op' value='move\_dir'>搬移<input type='radio' name='op' value='copy\_dir'>複製到:".folder\_select($base\_dir,"new\_dir2")."或改名為<input type='text' name='new\_dir\_name' size=10><br> 將勾選的檔案 <input type='radio' name='op' value='del'>刪除 <input type='radio' name='op' value='move'>搬移到:".folder\_select($base\_dir,"new\_dir")." 建立新目錄:<input type='text' name='mk\_dir'><br> ,上傳檔案:<input type='file' name='pic\[\]' class='multi' /> <input type='submit' value='送出'> </th></tr> </table> </form>"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=Big5"> <title></title> <link rel="stylesheet" href="tinytable.css" /> <link rel="stylesheet" href="iconize\_l.css" /> </head> <body> <?php echo $main;?> </body> </html> <?php //計算目錄大小 function dirSize($directory) { $size = 0; foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){ $size+=$file->getSize(); } return $size; } //把 bytes 轉換成其他單位 function formatBytes($bytes, $precision = 2) { $units = array('B', 'KB', 'MB', 'GB', 'TB'); $bytes = max($bytes, 0); $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); $pow = min($pow, count($units) - 1); $bytes /= pow(1024, $pow); return round($bytes, $precision) . ' ' . $units\[$pow\]; } //目錄選單 function folder\_select($base\_dir="",$name="",$i=0){ $prefix=str\_repeat("--",$i); $i++; $disabled=(\_UPLOAD\_DIR==$base\_dir)?"disabled":""; $option=($i==1)?"<option value='{$base\_dir}/' $disabled>/</option>\\n":""; $dh=opendir($base\_dir); while($file=readdir($dh)){ if($file=="." or $file=="..")continue; $type=filetype($base\_dir."/".$file); if($type=="dir"){ $disabled=(\_UPLOAD\_DIR=="{$base\_dir}/{$file}")?"disabled":""; $option.="<option value='{$base\_dir}/{$file}' $disabled>{$prefix}{$file}</option>\\n"; $option.=folder\_select("{$base\_dir}/{$file}",$name,$i); } } if($i==1){ $main="<select name='$name'> $option </select>"; }else{ $main=$option; } return $main; } //建立目錄 function mk\_dir($dir=""){ //若無目錄名稱秀出警告訊息 if(empty($dir))die("沒有目錄名稱"); //若目錄不存在的話建立目錄 if (!is\_dir($dir)) { umask(000); //若建立失敗秀出警告訊息 if(!mkdir($dir, 0777)){ die("$dir 建立失敗!"); } } } //目錄複製 function full\_copy( $source, $target ){ if ( is\_dir( $source ) ){ @mkdir( $target ); $d = dir( $source ); while ( FALSE !== ( $entry = $d->read() ) ){ if ( $entry == '.' || $entry == '..' ){ continue; } $Entry = $source . '/' . $entry; if ( is\_dir( $Entry ) ){ full\_copy( $Entry, $target . '/' . $entry ); continue; } copy( $Entry, $target . '/' . $entry ); } $d->close(); }else{ copy( $source, $target ); } } //刪除整個目錄 function delTree($dir) { $files = glob( $dir . '\*', GLOB\_MARK ); foreach( $files as $file ){ if( is\_dir( $file ) ) delTree( $file ); else unlink( $file ); } if (is\_dir($dir)) rmdir( $dir ); } ?>
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
57
人線上 (
12
人在瀏覽
線上書籍
)
會員: 0
訪客: 57
更多…