За последние 24 часа нас посетил 63881 программист и 3080 роботов. Сейчас ищут 1316 программистов ...

Запись файлов

Тема в разделе "PHP для новичков", создана пользователем gun15, 24 ноя 2008.

  1. gun15

    gun15 Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    34
    Симпатии:
    0
    Хочу записать файлы с имена из массива и раширение html
    Где $b это массив! Не работает! Наверно я не правильно реализую?Записывет только первый файл с названием первого
    элемента массива!

    //Записываем готовую странички через цикл
    for ($index = 0 ;$index < count ($b); $index++)
    {
    $file_name_new = "$b[$index].html"; // пробовал и ' ' и без скобок тоже
    $w = fopen($file_name_new,'w');
    fputs($w,$zamenad);
    fclose($w);
    }

    И сразу еще вопрос! массив который я загрузил из файла, функцией принт выводится в одну строку, а когда записываю в файл, каждый эллемент массива пишется с новой строки!надо чтобы и записывался в одну строку!

    $b = file("1.txt");
    $1 = implode(", ",$b);
    print $1;

    Вот как выглядит:

    через принт aaa , kent4 , acer , GUN15 , pirivet

    записываю в файл тхт
    , ааа
    , kent4
    , acer
    , GUN15
    , pirivet
     
  2. Adamant

    Adamant Активный пользователь

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    PHP:
    1.  
    2. $b = file("1.txt");
    3. $l = implode(", ", $b);
    4. $l = str_replace(array("\r\n", "\n"), '', $l); // убираем символы переноса строки
    5.  
    6. print $l;
    7.  
    8.  
    9. $zamenad = 'Контент';
    10.  
    11. //Записываем готовую странички через цикл
    12. for ($index = 0 ; $index < count($b); $index++) {
    13.      $file_name_new = trim($b[$index]) . '.html'; // убираем символ переноса строки
    14.  
    15.     $w = fopen($file_name_new, 'w');
    16.     fputs($w, $zamenad);
    17.     fclose($w);
    18. }
     
  3. gun15

    gun15 Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    34
    Симпатии:
    0
    Жалко нету кнопки спасибо!
     
  4. ShamahN

    ShamahN Активный пользователь

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    gun15, мордачку смените! разрешены только личные фото
     
  5. gun15

    gun15 Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    34
    Симпатии:
    0
    еще вопросик! хочу записать эти файлы в папку! Что и куда надо прописать!


    //Записываем готовую странички через цикл
    $dir = '/dir/';

    for ($index = 0 ; $index < count($b); $index++) {
    $file_name_new = $dir."/".trim($b[$index]) . '.html'; //я думаю что так но не работает

    $w = fopen($file_name_new, 'w');
    fputs($w, $zamenad);
    fclose($w);
    }
     
  6. Adamant

    Adamant Активный пользователь

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    PHP:
    1.  
    2. <?php
    3. $b = file("1.txt");
    4. $l = implode(", ", $b);
    5. $l = str_replace(array("\r\n", "\n"), '', $l); // убираем символы переноса строки
    6.  
    7. $zamenad = 'Контент';
    8. //Записываем готовую странички через цикл
    9. $dir = './dir/';
    10. /*
    11. Нельзя перед названием папки ставить слэш без точки
    12. dir/           папка dir в текущей папке (т.е. в той же папке где находится запущеный скрипт)
    13. ./dir/         или тоже самое но с точкой
    14. ../dir/        папка dir которая находится на уровень выше ( т.е. в родительской директории)
    15. ../../../dir/  папка dir которая находится на 3 уровеня выше
    16.  
    17. papka/dir/    папка dir находится в папке papka в текущей директории
    18. */
    19.  
    20. if (is_dir($dir)) {
    21.     for ($index = 0 ; $index < count($b); $index++) {
    22.         $file_name_new = $dir."/".trim($b[$index]) . '.html'; //я думаю что так но не работает
    23.  
    24.         $w = fopen($file_name_new, 'w');
    25.         if (!$w) {
    26.             echo "Не удается создать(перезаписать) файл -  $file_name_new <br />\n";
    27.         } else {
    28.             fputs($w, $zamenad);
    29.             fclose($w);
    30.         }
    31.     }
    32. } else {
    33.     echo "Папки $dir - не существует<br />\n";
    34. }
    35. ?>
    36.  
    Дружеский совет: "посидите" несколько дней на сайте http://phpfaq.ru и перечитайте его внимательно, уверен это будет для вас очень полезно и познавательно. Многие вопросы для вас будут решены.
    [​IMG] [​IMG]
     
  7. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    это значит от корневого каталога. Если нужно от текущего - то:
    $dir = './dir/';
     
  8. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    текущая директория - "dir/"
     
  9. kirwebgroup

    kirwebgroup Активный пользователь

    С нами с:
    21 ноя 2008
    Сообщения:
    48
    Симпатии:
    0
    Насчет указания директорий лучше пользоваться defined();, учитывая то что есть возможность динамического изменения значений константы.