Создать файл, найдя свободную цифру для имени.

Discussion in 'PHP' started by Gray_f0x, 11 Dec 2008.

  1. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    Как проверять значение имени файла увеличивая значение имени на плюс 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.хтмл....
     
    #1 Gray_f0x, 11 Dec 2008
    Last edited: 11 Dec 2008
  2. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    Вот
     
    #2 preda1or, 11 Dec 2008
    Last edited: 11 Dec 2008
    1 person likes this.
  3. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    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

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

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    я подправил свой пост, посмотри
     
  5. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    спасибо! Все работает!
     
  6. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    Нз)
     
    1 person likes this.
  7. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    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 не хочет писать в файл. В чем трабл ?
     
  8. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Во первых, как уже написали, нужно использовать "а+", "w+"... Судя по всему ты хочешь записывать текст, так зачем же ты указываешь, параметром b, что это двоичные данные? Этот параметр по-умолчанию предназначен для автоопределения того, что будет записано, чтобы запись данных корректно работала на разных платформах
     
    1 person likes this.