[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите отладить прогу
kenscl12
программа работает, но со сбоями. появляются пустые строки , не понимаю почему.


<?php
error_reporting(E_ALL);

//через php код сделать так, чтобы 1ая и 2ая строка в файле поменялись местами

//решил делать это через массив - каждой строчке своя ячейка, извлекаю из файла строку и тут же ее в ячейку с
//номером строки, Меняю местами первые две ячейки и перезаписываю файл.



$open = fopen("file.txt" , "r+a");
for ($j=0 ; $b = fgets ($open,1000);$j++)
{
$text[$j] = $b;
}
fclose($open);
print_r($text); //на этом этапе в массив текст загоняю построчно



echo "<br><hr> теперь законченный вариант и записываем его в файл <br>";
$vspomog_ellement = $text[1];
$text[1] = $text[0];
$text[0] = $vspomog_ellement;
print_r($text); //меняю местами 1 и 2 строку и печатаю что вышло





$open = fopen("file.txt" , "w+");
for ($j=0 ; $j<=count($text) ; $j++)
{
$stroka = "$text[$j] \r\n";
$zapis = fwrite( $open, $stroka ); //открываю старый файл ,стираю из него все и записываю результат
}
fclose($open);
?>




Спустя 19 минут, 32 секунды (7.02.2012 - 13:59) walerus написал(а):
<?php

// Загружаем файл как массив
$file = file( 'file_name.txt' );

// Меняем местами
$file_tmp = $file[1];
$file[1] = $file[0];
$file[0] = $file_tmp;

// Пишем файл
file_put_contents( 'file_name.txt', implode( "", $file ) );

Спустя 2 минуты, 38 секунд (7.02.2012 - 14:02) nugle написал(а):
ты явно указываешь переносы
$stroka = "$text[$j] \r\n";
trim ом в конце обработай
for ($j=0 ; $j<=count($text) ; $j++)
$stroka .= "$text[$j] \r\n";
$stroka = trim($stroka,'\r\n');
$zapis = fwrite( $open, $stroka ); //открываю старый файл ,стираю из него все и записываю результат

подробнее опиши проблему, покажи какие данные загоняются

Спустя 2 минуты, 43 секунды (7.02.2012 - 14:04) kenscl12 написал(а):
я в шоке) спс.
версия walerus делает все что мне надо))
я 2 недели стаж php, потому неграмотно гдето поступаю.)

Спустя 32 минуты, 56 секунд (7.02.2012 - 14:37) kenscl12 написал(а):
nugle
на выводе массива он пишет следом за массивами содержащими строки - кучу пустых элементов
получается условие цикла не срабатывает на этапе записи в файл, хотя я его поправил на

for ($j=0; $j <= count( $text ) - 1 ; $j++)

Спустя 2 минуты, 53 секунды (7.02.2012 - 14:40) nugle написал(а):
kenscl12
ну обрабатывай их, перед тем как создать массив.Я так их не вижу ведь


_____________
Если бы господь бог не хотел бы чтобы человек мастурбировал, он сделал бы его руки короче
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.