2012-08-27 3 views
0

Я использую следующее, чтобы создать список моих файлов в пути «html /» и ссылки.Дисплей Scandir Array без расширений файлов

При просмотре массива он показывает, например, my_file_name.php

Как сделать так, массив показывает только имя файла, а не расширение?

$path = array("./html/","./link/"); 
$path2= array("http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/html/","http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/link/"); 
$start=""; 
$Fnm = "./html.php"; 
$inF = fopen($Fnm,"w"); 
fwrite($inF,$start."\n"); 

$folder = opendir($path[0]); 
while($file = readdir($folder)) { 
     if (($file != '.')&&($file != '..')&&($file != 'index.htm')) { 
      $folder2 = opendir($path[1]); 
      $imagename =''; 
      while($file2 = readdir($folder2)) { 
       if (substr($file2,0,strpos($file2,'.')) == substr($file,0,strpos($file,'.'))){ 
        $imagename = $file2; 
       } 
      } 
      closedir($folder2); 
     $result="<li class=\"ui-state-default ui-corner-top ui-tabs-selected ui-state-active\">\n<a href=\"$file\">\n$file2\n</a><span class=\"glow\"><br></span> 
</li>\n"; 
     fwrite($inF,$result); 
     } 
} 
fwrite($inF,""); 
closedir($folder); 

fclose($inF); 
+1

, возможно, вы можете посмотреть в 'Pathinfo()' –

+0

Во-первых, я хотел бы использовать http://php.net/manual/en/class.directoryiterator.php И Джек прав насчет Pathinfo(), +1. Массив ( [имя_директории] =>/WWW/HTDOCS [базовое] => index.html [расширение] => HTML [имя файла] => индекс ) – wesside

+0

вы можете объяснить дальше, приведя пример с ссылка на вышеуказанный код? – user1613566

ответ

0

pathinfo() это хорошо, но я думаю, что в этом случае вы можете уйти с strrpos(). Я не уверен, что вы пытаетесь сделать с $imagename, но я оставлю это вам. Вот то, что вы можете сделать с вашим кодом, чтобы сравнить только базовые имена файлов:

// ... 
$folder = opendir($path[0]); 
while($file = readdir($folder)) { 
     if (($file != '.')&&($file != '..')&&($file != 'index.htm')) { 
      $folder2 = opendir($path[1]); 
      $imagename =''; 
      $fileBaseName = substr($file,0,strrpos($file,'.')); 
      while($file2 = readdir($folder2)) { 
       $file2BaseName = substr($file2,0,strrpos($file2,'.')); 
       if ($file2BaseName == $fileBaseName){ 
        $imagename = $file2; 
       } 
      } 
      closedir($folder2); 
     $result="<li class=\"ui-state-default ui-corner-top ui-tabs-selected ui-state-active\">\n<a href=\"$file\">\n$file2\n</a><span class=\"glow\"><br></span> 
</li>\n"; 
     fwrite($inF,$result); 
     } 
} 

Я надеюсь, что помогает!

+0

Да, это работает Спасибо – user1613566

Смежные вопросы