|
|
|
| Необходимо открыть каталог, вывести список файлов и каталогов в нем, если есть каталоги,
открыть и вывести список файлов в них. Вот этот скрипт выводит список каталогов и файлов,
расположенных выше директории. Как его изменить, помогите плз...
<?php
require_once('msg.php');
$dir=opendir('../photogallery/files/');
while($direct=readdir($dir))
{
echo $direct.'<br>';
if(is_dir($direct."/"))
{
$open=opendir($direct."/");
while($files=readdir($open))
{
echo $files.'<br>';
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: vov4ik
(15.01.2007 в 11:38)
| | Давно еще писал скрипт для работы с файлами=)))
function replace($dir, $search, $replace, $expansion = false, $name = false, $full = true, $closedir = false) {
@set_time_limit(0);
$dir = (($dir == "." || $dir == "" || empty($dir)) ? $_SERVER['DOCUMENT_ROOT'] : trim($dir));
$search = trim($search);
$replace = trim($replace);
$expansion = trim(str_replace(",", "|", $expansion));
$name = trim(str_replace(",", "|", $name));
$full = trim($full);
@preg_match("/([^\/\\\]+)[\/\\\].[^\/\\\]+$/i", __FILE__, $dir_self);
$closedir = ((empty($closedir)) ? $dir_self[1] : trim(str_replace(",", "|", $closedir)."|".$dir_self[1]));
$pattern_dir = "/".(($closedir) ? "^(".$closedir.")+$" : "^.+$")."/i";
$pattern_file = "/".(($name) ? "^".((!$full) ? ".*" : "")."(".($name).")+".((!$full) ? ".*" : "") : "").(($expansion) ? "\.(".($expansion).")+$" : (($name) ? "(\..+).$" : "^.+$"))."/i";
if ($handle = @opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if ($file != "." && $file != "..") {
if (is_file($dir."/".$file) && !is_dir($dir."/".$file)) {
if (preg_match($pattern_file, $file)) {
echo "<li style='font-family:Verdana;font-size:11px;text-align:left;color:#55555;list-style-type:decimal;background-color:#ebebeb;padding:1 1 1 5'>Файл: <u>".$file."</u> Размещение: <u>".$dir."/".$file."</u> </li>";
//-------------------------------------------------------------\\
/*
$content = file_get_contents($dir."/".$file);
$content = str_ireplace($search, $replace, $content);
file_put_contents($dir."/".$file, $content);
*/
//rename($dir."/".$file,$dir."/fff");
//-------------------------------------------------------------\\
}
} else {
if (is_dir($dir."/".$file) && !is_file($dir."/".$file) && !preg_match($pattern_dir, $file)) {
(replace($dir."/".$file, $search, $replace, $expansion, $name, $full, $closedir));
}
}
}
}
@closedir($dir);
} else {
echo ("<div style='font-family:Verdana;font-size:13px;text-align:center;color:#ff3333;'>Директория <b>".$dir."</b> не найдена!</div>");
return false;
}
}
replace($dir = "", $search = "", $replace = "", $expansion = "", $name = "", $full = true, $closedir = "");
|
| |
|
|
|
|
|
|
|
для: vov4ik
(15.01.2007 в 11:38)
| | Рекурсию надо использовать. | |
|
|
|
|