2015-04-28 12 views
0

Как удалить точку перед последней конечной косой чертой?Удалить точку в списке файлов в каталоге

Пример с точкой выхода в HTML таблице:

Name        Type   Size  Last Modified 
http://www.airsahara.in./fares/  text/x-php 662  2014-09-04 
http://www.airsahara.in./   text/x-php 1681  2014-09-04 

Вот код PHP У меня есть, что позволяет мне читать только определенные каталоги на основе того, что в игнор массиве. Я просто не могу понять, как избавиться от . перед конечной косой чертой /.

Мне нужно удалить эту точку, чтобы URL-адрес был прав.

<? 
$ignore = array('images', 'css', 'includes', 'cgi-bin', 'xml-sitemap.php'); 

    function getFileList($dir, $recurse=false) { 
    global $ignore; 

    $retval = array(); 

    // open pointer to directory and read list of files 
    $d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading"); 
    while (false !== ($entry = $d->read())) { 

     // Check if this dir needs to be ignored, if so, skip it. 
     if (in_array(utf8_encode($entry), $ignore)) 
      continue; 

     // skip hidden files 
     if($entry[0] == ".") continue; 
     if(is_dir("$dir$entry")) { 
     $retval[] = array(
      "name" => "$dir$entry/", 
      "type" => filetype("$dir$entry"), 
      "size" => 0, 
      "lastmod" => filemtime("$dir$entry") 
     ); 
     if($recurse && is_readable("$dir$entry/")) { 
      $retval = array_merge($retval, getFileList("$dir$entry/", true)); 
     } 
     } elseif(is_readable("$dir$entry")) { 
     $retval[] = array(
      "name" => "$dir", 
      "type" => mime_content_type("$dir$entry"), 
      "size" => filesize("$dir$entry"), 
      "lastmod" => filemtime("$dir$entry") 
     ); 
     } 
    } 
    $d->close(); 

    return $retval; 
    } 

    $dirlist = getFileList("./", true); 

    // output file list in HTML TABLE format 
    echo "<table border=\"1\">\n"; 
    echo "<thead>\n"; 
    echo "<tr><th>Name</th><th>Type</th><th>Size</th><th>Last Modified</th></tr>\n"; 
    echo "</thead>\n"; 
    echo "<tbody>\n"; 
    foreach($dirlist as $file) { 
     if($file['type'] != 'text/x-php') continue; 
    echo "<tr>\n"; 
    echo "<td>http://www.airsahara.in{$file['name']}</td>\n"; 
    echo "<td>{$file['type']}</td>\n"; 
    echo "<td>{$file['size']}</td>\n"; 
    echo "<td>",date('Y-m-d', $file['lastmod']),"</td>\n"; 
    echo "</tr>\n"; 
    } 
    echo "</tbody>\n"; 
    echo "</table>\n\n"; 
?> 

ответ

2

Вы могли бы выполнить строку замены -

"name" => str_replace('./','/', $dir), 
+0

это было слишком просто. Благодарю. Думаете, это самый логичный способ? – Mike

+0

Не зная, как имена были изначально сформированы, я бы сказал, что это наиболее логично. –

+0

спасибо. Я всегда смотрю на очевидный способ делать что-то. – Mike