Хочу записать файлы с имена из массива и раширение 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
PHP: $b = file("1.txt"); $l = implode(", ", $b); $l = str_replace(array("\r\n", "\n"), '', $l); // убираем символы переноса строки print $l; $zamenad = 'Контент'; //Записываем готовую странички через цикл for ($index = 0 ; $index < count($b); $index++) { $file_name_new = trim($b[$index]) . '.html'; // убираем символ переноса строки $w = fopen($file_name_new, 'w'); fputs($w, $zamenad); fclose($w); }
еще вопросик! хочу записать эти файлы в папку! Что и куда надо прописать! //Записываем готовую странички через цикл $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); }
PHP: <?php $b = file("1.txt"); $l = implode(", ", $b); $l = str_replace(array("\r\n", "\n"), '', $l); // убираем символы переноса строки $zamenad = 'Контент'; //Записываем готовую странички через цикл $dir = './dir/'; /* Нельзя перед названием папки ставить слэш без точки dir/ папка dir в текущей папке (т.е. в той же папке где находится запущеный скрипт) ./dir/ или тоже самое но с точкой ../dir/ папка dir которая находится на уровень выше ( т.е. в родительской директории) ../../../dir/ папка dir которая находится на 3 уровеня выше papka/dir/ папка dir находится в папке papka в текущей директории */ if (is_dir($dir)) { for ($index = 0 ; $index < count($b); $index++) { $file_name_new = $dir."/".trim($b[$index]) . '.html'; //я думаю что так но не работает $w = fopen($file_name_new, 'w'); if (!$w) { echo "Не удается создать(перезаписать) файл - $file_name_new <br />\n"; } else { fputs($w, $zamenad); fclose($w); } } } else { echo "Папки $dir - не существует<br />\n"; } ?> Дружеский совет: "посидите" несколько дней на сайте http://phpfaq.ru и перечитайте его внимательно, уверен это будет для вас очень полезно и познавательно. Многие вопросы для вас будут решены.
Насчет указания директорий лучше пользоваться defined();, учитывая то что есть возможность динамического изменения значений константы.