所以我在我的電影目錄的頁面中列出項目,只要沒有子目錄就好了。php is_dir有時候不會工作
該頁面可以在這裏查看。 http://jnks.dyndns.org/dirlist.php
最相關的代碼可以從那裏拿起,直到XHR發送信息的functions.php頁面。我認爲這一切似乎都很穩固,因爲它適用於文件夾和其他文件夾的文件夾。
這裏是針對的functions.php
$exts = array(
'.mp4' => 'Apple Video',
'.m4v' => 'Apple Video',
'.ogg' => 'OGG Vorbis Video',
'.ogv' => 'OGG Vorbis Video',
'.webm' => 'MS Video',
'.avi' => 'MS Video',
'.mkv' => 'Matroska Video',
'.iso' => 'Compressed DVD'
);
if(isset($_POST['dirName'])) {
$arg = $_POST['dirName'];
$dirList = scandir($arg);
echo '<ul>';
foreach($dirList as $dirs){
if($dirs === '.' || $dirs === '..') {continue;} //remove dots
if(is_dir($dirs)){
echo '<li class="lv2" id="'.$arg.'\\'.$dirs.'" onclick="getDirList(this)">'.$dirs.'</li>'; //if dir create new nested list with function to drill down
} else {
$ext = strrchr($dirs,'.');
if($exts[$ext]){
echo '<li class="lv3" id="'.$dirs.'" data-folder="'.$arg.'\\'.$dirs.'" onclick="openFile(this)">'.$dirs.'</li>'; //if files then create new nested list
}
}
}
echo '</ul>';
} else {
echo 'POST variable is not set';
}
代碼似乎is_dir不想工作。我完成了搜索,其他人似乎都沒有使用絕對路徑。我知道這不是我的問題,因爲我已經打印了$ arg var以及用於結束ul標記的回顯行,並且它顯示了完整的路徑和它的絕對權限。
我已經嘗試將is_dir更改爲!is_file,這允許它列出文件夾,但它也列出了我不想顯示的文件,因爲它繞過了我的ext過濾器(我想我可以將過濾器添加到此但is_dir應該工作嗎?)。
所以基本上我需要一些幫助才能得到這個工作。我瘋了,不明白is_dir還是有更好的方法?
如果有人想看看我正在使用的JavaScript來隱藏嵌套列表,如果已經顯示,請隨意。我覺得這是一個非常「黑客」的做法,但即時通訊仍然非常新,不知道很多技巧。它在jQuery的AJAX部分dirList.js
順便說一句,請確保您使用HTML5兼容的瀏覽器,因爲我正在使用一些其他HTML5的東西之間的視頻標籤。我正在使用chrome進行開發。
謝謝。
編輯問另一種相關的問題。
我使用CSS模擬了視頻標籤的全屏模式,除了它仍然顯示右側的滾動條,以及它在真正黑暗的場景中變得煩人之外,它的效果很好。有沒有什麼辦法擺脫這個。即使我在瀏覽器中處於全屏模式,它也會持續(f11)。瀏覽器是Chrome瀏覽器,我將z-index設置爲10,沒有其他設置。
編輯:
我被做$( '身體')的CSS擺脫滾動條的( '溢出', '隱藏');作爲我的全屏功能的一部分,並在切換回來時關閉它。
is_dir will fai l在類似於:C:\ wamp \ www \ hmvc \ resources \ lang \ es-ar(或nix equiv。) - 注意在es-ar中的連字符 – Jeffz 2012-05-18 17:49:10