Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Результат цикла в файл

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Valimar
Отправлено: 06 Февраля, 2009 - 15:44:12
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




Мне нужно результат цикла записать в файл. Получается всё не так, как хочется...
Вот сам код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. @ $fp = fopen("test", "w+");
  4. if(!$fp)
  5. {
  6.         echo "Невозможно открыть/создать файл";
  7.         exit;
  8. }
  9.  
  10.  for ($j = 0; $j < 1000; $j++)
  11.  {
  12.      $rand = lcg_value();
  13.  
  14.      if ($rand < 0.01)
  15.      {
  16.          $err = 1;
  17.          print "<b>" . $err . "</b>\n";
  18.      }
  19.      else
  20.      {
  21.          $err = 0;
  22.          print $err . "\n";
  23.      }
  24.  }
  25.  
  26. fwrite($fp, $final);
  27.  
  28. fclose($fp);
  29. ?>
  30.  


Результатом является некоторая последовательность нулей и единиц. Мне нужно всё это записать в файл. Помогите с решением =/
 
 Top
Stierus Супермодератор
Отправлено: 06 Февраля, 2009 - 15:45:33
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




 
My status
 Top
Champion Супермодератор
Отправлено: 06 Февраля, 2009 - 15:53:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Во-первых, есть такая штука как конкатенация. Во-вторых в файл тоже можно писать в цикле.
 
 Top
Гость
Отправлено: 06 Февраля, 2009 - 16:01:39
Post Id


УДАЛЁН










PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. @ $fp = fopen("test", "w+");
  4. ?>
  5.  

Радость Радость Радость мне нравится)
 
 Top
Champion Супермодератор
Отправлено: 06 Февраля, 2009 - 16:09:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




а что там такого?
 
 Top
Valimar
Отправлено: 06 Февраля, 2009 - 16:12:09
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




Krist_ALL, я знаю, почему ты смеешься....но для моей задачи это нормально.
у меня, так сказать, научно-исследовательский эксперимент =)

всем спасибо, за подсказки, очень выручили ))
(Добавление)
вот ещё один вопрос: я записал в файл строку из 1000 символов, теперь, при чтении из файла, она выводится вся целиком в одну строчку. Я пытаюсь сделать перенос строки, но это не срабатывает. Не подскажите, в чем дело?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. @ $fp = fopen("test", "r");
  4. if(!$fp)
  5. {
  6.         echo "Невозможно открыть файл";
  7.         exit;
  8. }
  9. while (!feof($fp))
  10. {
  11.         $file = fgets($fp);
  12.         echo $file . "\n";
  13.  //echo "$file\n";
  14. }
  15. fclose($fp);
  16. ?>
  17.  

(Отредактировано автором: 06 Февраля, 2009 - 17:12:54)

 
 Top
vitaliy_mad
Отправлено: 06 Февраля, 2009 - 17:14:03
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Valimar пишет:

echo $file . "\n";

попробуй echo $file . "\r\n";
 
 Top
Valimar
Отправлено: 06 Февраля, 2009 - 17:18:04
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




vitaliy_mad пишет:
попробуй echo $file . "\r\n";

неа...так тоже не работает...
 
 Top
vitaliy_mad
Отправлено: 06 Февраля, 2009 - 18:31:47
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




ВО первых попробуй так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a=file('test');
  3. foreach($a as $str)
  4. {
  5.  echo "$str\r\n";
  6. }
  7. ?>


во вторых скрипт записи выложи
 
 Top
Valimar
Отправлено: 06 Февраля, 2009 - 18:46:15
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




vitaliy_mad пишет:
ВО первых попробуй так:

тоже не получается...
вот таким образом я писал в файл:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. @ $fp = fopen("test", "w+");
  4. if(!$fp)
  5. {
  6.         echo "Невозможно открыть/создать файл";
  7.         exit;
  8. }
  9.  
  10.  for ($j = 0; $j < 1000; $j++)
  11.  {
  12.      $rand = lcg_value();
  13.  
  14.      if ($rand < 0.01)
  15.      {
  16.          $err = 1;
  17.          print "<b>" . $err . "</b>\n";
  18.          fwrite($fp, $err);
  19.      }
  20.      else
  21.      {
  22.          $err = 0;
  23.          print $err . "\n";
  24.          fwrite($fp, $err);
  25.      }
  26.  }
  27.  
  28. fclose($fp);
  29. ?>
  30.  
 
 Top
Champion Супермодератор
Отправлено: 06 Февраля, 2009 - 19:14:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




в винде \n\r - разве нет? а не \r\n
 
 Top
vitaliy_mad
Отправлено: 06 Февраля, 2009 - 19:31:44
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Champion спорить не буду, но помоему разницы нет....
Valimar ты где вывод делаешь? если в браузере, то надо вместо \n\r или \r\n или \n писать тег <br>
 
 Top
Champion Супермодератор
Отправлено: 06 Февраля, 2009 - 19:41:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




vitaliy_mad пишет:
спорить не буду, но помоему разницы нет
Оказывается, есть, и я был не прав.
vitaliy_mad пишет:
браузере, то надо вместо \n\r или \r\n или \n писать тег <br>
\n в браузере никак себя не проявит - это уж точно.
 
 Top
vitaliy_mad
Отправлено: 06 Февраля, 2009 - 19:46:07
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Champion пишет:
Оказывается, есть, и я был не прав.
спасибо, тперь буду знать... в ДОС-е разницы, вроде бы, не было... то ли возврат пото перенос, то ли наоборот всегда работало...
 
 Top
Valimar
Отправлено: 06 Февраля, 2009 - 19:55:45
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




vitaliy_mad пишет:
Valimar ты где вывод делаешь? если в браузере, то надо вместо \n\r или \r\n или \n писать тег <br>


в браузере...
тег <br /> уже пробовал, результат тот же

я вручную записывал строку в файл - один фиг =/
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB