ошибка в открытия файла на запись (php)

Discussion in 'PHP' started by ufaclub, 13 Jan 2011.

  1. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    инклудом вставляю скрипт

    PHP:
    <?php

    $thispage 
    $_SERVER['REQUEST_URI'];
    $page_hash md5($thispage);

    $lines file('a.txt',FILE_SKIP_EMPTY_LINES);
    $urls file('url.txt',FILE_SKIP_EMPTY_LINES);

    $key array_search($page_hash$urlstrue); // $key = 1;

    if (!$key){
        
    $w=fopen('url.txt','a-'); // открываем только для записи, курсор устанавливаем в конец файла
        
    fwrite($w,$page_hash); // записываем хэш новой страницы в конец файла
        
    fclose($w);
        
    $new_urls file('url.txt',FILE_SKIP_EMPTY_LINES); // заново читаем файл в массив
        
    $key count($new_urls)-1// считаем количество элементов в массиве и отнимаем 1, т.к. ключи элементов начинаются с 0
    }
    echo 
    $lines[$key];


    ?> 



    он не работает.

    а если просто создать файл . php с этим кодом и запустить его - то он работает

    а если включить в индекс шаблона то пишет

    PHP:
    Warningfile(a.txt) [function.file]: failed to open streamNo such file or directory in /var/www/site/data/www/soite.ru/wp-content/themes/ad-clerum-10/footer.php on line 34 


    в чем проблема может быть? :confused:
     
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    No such file or directory - нет такого файла или директории
     
  3. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    а допусти если файл шаблона лежит

    http://www.site.ru/templates/site/index.php

    я туда код инклудю

    то файлы txt должны лежать в корне сайта? или в папке где и index.php
     
  4. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    хотя даже если и в корень , или абсолютный путь даже если прописать - то все равно - ничего не выводит(
     
  5. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    проблеме в том что хеш в 1 строчку пищеться

    $w=fopen('url.txt','a-');

    как сделать чтоб каждая запись была с новой строки?
     
  6. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    fwrite($w,$page_hash."\r\n");
     
  7. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    аха - терь записывает праивльно и выдит соответсвующую строчку из файла a.txt правильно

    но одно но... как не записывать дубли?

    PHP:
    6666cd76f96956469e7be39d750cc7d9
    aed0c99b3ab80f1e8df3af59cf0ae53a
    6007c2c2e02715cac9d8a365152bac27
    05cc7ef32005e67e8959bb4c3cd05702
    05cc7ef32005e67e8959bb4c3cd05702
    1befd44810d7b9bdfc2e1a599a18c307
    05cc7ef32005e67e8959bb4c3cd05702
    1befd44810d7b9bdfc2e1a599a18c307
    1c927383117a61d367f08b1f74d6acf1
    3752b73d65ed8a554fe8a8d98f62fa38
    26a93b8987e1c3f1a204adfaf8eb1675
    3752b73d65ed8a554fe8a8d98f62fa38
    1c927383117a61d367f08b1f74d6acf1
    1befd44810d7b9bdfc2e1a599a18c307
    05cc7ef32005e67e8959bb4c3cd05702



     
  8. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    перед записью проверять есть ли уже такая строка :D
    //КО
     
  9. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    а как это сделать? подскажите....
     
  10. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    считываешь файл в массив, потом функцией in_array() проверяешь, есть он или нет, и если нет, то записываешь
     
  11. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0


    :rolleyes: да как оно работать должно и как более менее составить на словах алгоритм это и я могу - а вот на синтаксис php перенести - уже проблема.... неселеня еще в php

    так что прошу помощи, темболее это последнее что нужно подправить ) и все срипт работает можно сказать :rolleyes:

    так что помогите кто знает как это реализовать :rolleyes: