Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Создать файл, найдя свободную цифру для имени. (https://forum.antichat.xyz/showthread.php?t=95863)

Gray_f0x 11.12.2008 08:01

Создать файл, найдя свободную цифру для имени.
 
Как проверять значение имени файла увеличивая значение имени на плюс 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.хтмл....

preda1or 11.12.2008 08:23

Цитата:

<?php
$number=0;
$filename='prefix'.$number.'.dat';
while (file_exists($filename)) { $filename='prefix'.$number++.'.dat'; }
$f=fopen($filename,a);
fclose($f);
?>
Вот

Gray_f0x 11.12.2008 08:34

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

не угадал с правами ?

preda1or 11.12.2008 08:39

я подправил свой пост, посмотри

Gray_f0x 11.12.2008 08:45

спасибо! Все работает!

preda1or 11.12.2008 08:46

Нз)

Gray_f0x 11.12.2008 12:25

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 не хочет писать в файл. В чем трабл ?

ss88 11.12.2008 13:43

Цитата:

Сообщение от Gray_f0x
PHP код:

$f=fopen($file,a,b) or die("shit"); 

. но именно fwrite не хочет писать в файл. В чем трабл ?

Во первых, как уже написали, нужно использовать "а+", "w+"... Судя по всему ты хочешь записывать текст, так зачем же ты указываешь, параметром b, что это двоичные данные? Этот параметр по-умолчанию предназначен для автоопределения того, что будет записано, чтобы запись данных корректно работала на разных платформах


Время: 19:50