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
Форумы портала PHP.SU :: Версия для печати :: Результат цикла в файл
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Результат цикла в файл

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

1. Valimar - 06 Февраля, 2009 - 15:44:12 - перейти к сообщению
Мне нужно результат цикла записать в файл. Получается всё не так, как хочется...
Вот сам код:
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.  


Результатом является некоторая последовательность нулей и единиц. Мне нужно всё это записать в файл. Помогите с решением =/
2. Stierus - 06 Февраля, 2009 - 15:45:33 - перейти к сообщению
3. Champion - 06 Февраля, 2009 - 15:53:14 - перейти к сообщению
Во-первых, есть такая штука как конкатенация. Во-вторых в файл тоже можно писать в цикле.
4. Гость - 06 Февраля, 2009 - 16:01:39 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. @ $fp = fopen("test", "w+");
  4. ?>
  5.  

Радость Радость Радость мне нравится)
5. Champion - 06 Февраля, 2009 - 16:09:34 - перейти к сообщению
а что там такого?
6. Valimar - 06 Февраля, 2009 - 16:12:09 - перейти к сообщению
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.  
7. vitaliy_mad - 06 Февраля, 2009 - 17:14:03 - перейти к сообщению
Valimar пишет:

echo $file . "\n";

попробуй echo $file . "\r\n";
8. Valimar - 06 Февраля, 2009 - 17:18:04 - перейти к сообщению
vitaliy_mad пишет:
попробуй echo $file . "\r\n";

неа...так тоже не работает...
9. vitaliy_mad - 06 Февраля, 2009 - 18:31:47 - перейти к сообщению
ВО первых попробуй так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a=file('test');
  3. foreach($a as $str)
  4. {
  5.  echo "$str\r\n";
  6. }
  7. ?>


во вторых скрипт записи выложи
10. Valimar - 06 Февраля, 2009 - 18:46:15 - перейти к сообщению
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.  
11. Champion - 06 Февраля, 2009 - 19:14:01 - перейти к сообщению
в винде \n\r - разве нет? а не \r\n
12. vitaliy_mad - 06 Февраля, 2009 - 19:31:44 - перейти к сообщению
Champion спорить не буду, но помоему разницы нет....
Valimar ты где вывод делаешь? если в браузере, то надо вместо \n\r или \r\n или \n писать тег <br>
13. Champion - 06 Февраля, 2009 - 19:41:13 - перейти к сообщению
vitaliy_mad пишет:
спорить не буду, но помоему разницы нет
Оказывается, есть, и я был не прав.
vitaliy_mad пишет:
браузере, то надо вместо \n\r или \r\n или \n писать тег <br>
\n в браузере никак себя не проявит - это уж точно.
14. vitaliy_mad - 06 Февраля, 2009 - 19:46:07 - перейти к сообщению
Champion пишет:
Оказывается, есть, и я был не прав.
спасибо, тперь буду знать... в ДОС-е разницы, вроде бы, не было... то ли возврат пото перенос, то ли наоборот всегда работало...
15. Valimar - 06 Февраля, 2009 - 19:55:45 - перейти к сообщению
vitaliy_mad пишет:
Valimar ты где вывод делаешь? если в браузере, то надо вместо \n\r или \r\n или \n писать тег <br>


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

я вручную записывал строку в файл - один фиг =/

 

Powered by ExBB FM 1.0 RC1