Здравствуйте всем. У меня есть такой фрагмент кода: Код (Text): if(isset($_GET['ban']) && in_array($_GET['ban'],$cat)) { $file=file("us/db/us/$_GET[ban]"); $f=fopen("us/db/us/$_GET[ban]","w"); for($n=0;$n<count($file);$n++) { if($n!=6)fwrite($f,$file[$n]); else { if($file[6]=='1')fwrite($f,"0\r\n"); // тут else fwrite($f,"1\r\n"); // и тут } } fclose($f); echo"<a href=users.php?ban=$cat[$x]&page=$page&ind=$index>Заблокировать</a>"; который отвечает за то, чтобы перезаписать строку №7 в текстовом файле. В файле всего 8 строк. Проблема у меня заключается в следующем: - если я не указываю перенос строки "\r\n" (в коде указано где), то файл перезаписывается. Но при этом восьмая строка сливается с седьмой, это логично. - но если я использую перенос строки "\r\n", то при нажатии на ссылку ничего не происходит, т.е. страница перезагружается, а файл не перезаписывается. Не могу понять, почему так происходит. Подскажите, пожалуйста.
Добрый день! Попробуйте закоментировать две первые строки Вашего кода и распечатайте содержимое файла до и после сохранения PHP: <? $fileName = "test7.txt"; $file=file($fileName); echo "<pre>"; print_r($file); /* Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 ) */ //if(isset($_GET['ban']) && in_array($_GET['ban'],$cat)) //{ $f=fopen($fileName,"w"); for($n=0;$n<count($file);$n++) { if($n!=6)fwrite($f,$file[$n]); else { if($file[6]=='1') fwrite($f,"0\r\n"); // тут else fwrite($f,"1\r\n"); // и тут } } fclose($f); //} $file=file($fileName); print_r($file); /* Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 1 [7] => 7 ) */ ?> Из этого следкет, что проблема не в переносе строк, а в линке и в операторе PHP: if(isset($_GET['ban']) && in_array($_GET['ban'],$cat)) Удачи!
Был задан вопрос о том, почему не выполняется часть кода, следующая после открывающей фигурной скобки условной конструкции. В фраменте кода нет закрывающей скобки, но если бы её не было в оригинале, то была бы фотальная ошибка. Прикол не в скобках, а в самой условной конструкции.
Всем спасибо и всем успехов. Буду смотреть, думать, тестить, накидали вы мне тут разных терминов, которые придется мне расшифровывать в первую очередь, чтобы понять о чем вы все тут говорите))
Спасибо. Постараюсь запомнить. К сожалению, у меня проблемы с языком. Сюда захожу из-за дефицита русскоязычного общения...
Да уж накидали... на самом деле всё просто PHP: var_dump(isset($_GET['ban']) && in_array($_GET['ban'],$cat)); /* перезапись файла только если var_dump возвращает - bool(true) */ if(isset($_GET['ban']) && in_array($_GET['ban'],$cat)) { // перезапись файла } Всем хорошего воскресенья!
фатум, да и по-английски fatal Спасибо тебе, что помогаешь куче новичков, помню ещё по php.su, который хз почему сдулся.
да пинговался он и так, не знал, что через vpn надо, благодарю. вопрос в том, они нас или роскомпозор их... хм, всего 93 новых сообщений с хрен знает когда )