Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Создать файл, найдя свободную цифру для имени. |

11.12.2008, 08:01
|
|
Постоянный
Регистрация: 31.05.2007
Сообщений: 308
Провел на форуме: 1863492
Репутация:
243
|
|
Создать файл, найдя свободную цифру для имени.
Как проверять значение имени файла увеличивая значение имени на плюс 1 до тех пор пока не будет найдено свободное значение, как только оно найдено создать файл с именем свободного значения.
Вот что вышло у меня :
PHP код:
$filenumber = 1;
$file = "index$filenumber.html" ;
echo $file;
if (is_file($file)):
do
{
$filenumber++;
}
while (is_file($file));
else :
создать свободный файл ;
endif;
Алгоритм таков:
проверить есть ли файл с именем 1.хтмл, если нету увеличить имя на +1 и проверить если файл с именем 2.хтмл, если нету, то создать и поместить в него введенную ранее инфу, если есть то увеличить еще на +1 или проверить есть ли 3.хтмл....
Последний раз редактировалось Gray_f0x; 11.12.2008 в 08:20..
|
|
|

11.12.2008, 08:23
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме: 1495545
Репутация:
242
|
|
<?php
$number=0;
$filename='prefix'.$number.'.dat';
while (file_exists($filename)) { $filename='prefix'.$number++.'.dat'; }
$f=fopen($filename,a);
fclose($f);
?>
Вот
Последний раз редактировалось preda1or; 11.12.2008 в 08:38..
|
|
|

11.12.2008, 08:34
|
|
Постоянный
Регистрация: 31.05.2007
Сообщений: 308
Провел на форуме: 1863492
Репутация:
243
|
|
PHP код:
while (is_file($file))
{
$file='index'.$number++.'.html';
}
$f=fopen($file,a);
fclose($f);
Warning: fclose(): supplied argument is not a valid stream resource
не угадал с правами ?
|
|
|

11.12.2008, 08:39
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме: 1495545
Репутация:
242
|
|
я подправил свой пост, посмотри
|
|
|

11.12.2008, 08:45
|
|
Постоянный
Регистрация: 31.05.2007
Сообщений: 308
Провел на форуме: 1863492
Репутация:
243
|
|
спасибо! Все работает!
|
|
|

11.12.2008, 08:46
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме: 1495545
Репутация:
242
|
|
Нз)
|
|
|

11.12.2008, 12:25
|
|
Постоянный
Регистрация: 31.05.2007
Сообщений: 308
Провел на форуме: 1863492
Репутация:
243
|
|
PHP код:
{
$number=0;
$file='index'.$number++.'.html';
while (is_file($file))
{
$file='index'.$number++.'.html';
}
//chmod(".\\$file", 0777);
$f=fopen($file,a,b) or die("shit");
//fopen($file,a,b) or die("shi3!2t!!!");
fwrite($f, $text) or die("shit");
fclose($f);
}
возник затуп.. файлы отлично создаются, но в них не пишется нужна мне инфа, но инфа нормально передается из другого скрипта... но именно fwrite не хочет писать в файл. В чем трабл ?
|
|
|

11.12.2008, 13:43
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от Gray_f0x
PHP код:
$f=fopen($file,a,b) or die("shit");
. но именно fwrite не хочет писать в файл. В чем трабл ?
Во первых, как уже написали, нужно использовать "а+", "w+"... Судя по всему ты хочешь записывать текст, так зачем же ты указываешь, параметром b, что это двоичные данные? Этот параметр по-умолчанию предназначен для автоопределения того, что будет записано, чтобы запись данных корректно работала на разных платформах
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|