Как я могу удалить точку перед последней косой чертой?
Пример с выводом точки в таблице 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, который я имею, который позволяет мне читать только определенные каталоги, основываясь на том, что находится в массиве ignore. Я просто не могу понять, как избавиться от .
перед косой чертой /
,
Мне нужно удалить эту точку, чтобы 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";
?>
Вы можете выполнить замену строки —
"name" => str_replace('./','/', $dir),
Других решений пока нет …