|
|
|
| Есть файл txt в нём такая запись
file||file2||file3||file4||file5||
|
Нужно заменить все || на | Причём так чтоб вконце (file5||) || не заменялась, а удалялась.
Никак не могу догнать как можно это организовать.. Может что подскажете? | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 21:19)
| | str_replace и substr помогут вам. | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 21:19)
| |
<?
$apas =isset($_GET['pas'])?htmlspecialchars(stripslashes($_GET['pas'])):NULL;
$mode = isset($_GET['mod'])?htmlspecialchars(stripslashes($_GET['mod'])):NULL;
include '../conf.php';
unlink('../dir.txt');
header("Location: obnov.php?mod=filedir&pas=$apas");
if ($mode == 'filedir'){
echo 'Список каталогов обновлён';
$dir=opendir(".");
while ($d = readdir($dir)){
if (is_dir($d)){
if ($d != "." && $d != ".."){
$di = "$d||";
$files = fopen('../dir.txt', 'a+');
flock($files, LOCK_EX);
$result = $di ;
fputs($files, $result);
flock($files, LOCK_UN);
fclose($files);}
}}
}
?>
|
Чё-то я не понимаю ни чего, на денвере этот код работает, на хосте нет, и файл не удаляет, и в dir.txt записывает список каталогов раза 5 заподрят... | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 22:45)
| | С правами на файл всё впорядке. | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 22:53)
| | 21 раз строчку записывает, которую должен записать 1 раз. | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 23:00)
| | Это значит цикл неправильно работает! | |
|
|
|
|
|
|
|
для: RomanAf
(08.03.2009 в 23:06)
| | А чё там не правильно-то? На денвере же работает.. | |
|
|
|
|
|
|
|
для: f@ntom
(08.03.2009 в 23:00)
| | Только понять не могу | |
|
|
|