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 :: Помогите с файлом редактирования строки [2]

 PHP.SU

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


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

> Описание: зачётт
reslear
Отправлено: 25 Сентября, 2011 - 22:13:04
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июль 2011  


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

[+]


LIME, спасибо большое!!!!

а как это модернизировать чтоб не было быдло кода:

$file = "data.dat";
$file_arr = file($file);

PHP:
скопировать код в буфер обмена
  1. foreach ($file_arr as $item  => $line){
  2.  trim($line);
  3.  list ($id, $data) = explode("|",$line,2);
  4.  if ($id == '1'){
  5.   echo $data;
  6.  }
  7. }
  8.  
  9.  


особенно это:

PHP:
скопировать код в буфер обмена
  1.  list ($id, $data) = explode("|",$line,2);
  2.  if ($id == '1'){
  3.   echo $data;
  4.  }
  5.  

потому-что в программе работает, а на сайте нет!
 
 Top
LIME
Отправлено: 25 Сентября, 2011 - 22:16:28
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




reslear неработает потому что скорее всего права на файл data не выставлены 777
остальное там вполне обычные ф-ции работают везде
(Добавление)
понаставьте проверок на ошибку везде
типа
$file_arr = file($file) or die('не прочитал файл дата.дат');
и тд.
 
 Top
reslear
Отправлено: 25 Сентября, 2011 - 22:31:17
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июль 2011  


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

[+]


LIME, спасибо большое за всё! а ошибка была в том что нужно было в файле, сделать отступ с верха! тему можно офф
 
 Top
LIME
Отправлено: 25 Сентября, 2011 - 22:36:04
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




reslear вы имеете ввиду что нумерация в массиве идет от 0?)))
эт да))
не лучше изменить if ($id == "4") на if ($id == "3") или как это у вас в коде ?
впрочем вам тут уже виднее

(Отредактировано автором: 25 Сентября, 2011 - 22:37:22)

 
 Top
reslear
Отправлено: 26 Сентября, 2011 - 19:02:34
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июль 2011  


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

[+]


LIME, не не идёт код нужно чё-то другое !

а именно:

Проверяем есть ли $ids

PHP:
скопировать код в буфер обмена
  1. $file = "data.dat";
  2. $file_arr = file($file);
  3. foreach ($file_arr as $item  => $line){
  4.  trim($line);
  5.  list ($id, $cat, $kid) = split("\|",$line,3);
  6.  }


.dat


как мне сделать проверку если $id == '1' то есть существует, то заменить его содержимые разбитые переменные, а если нету то дописать
 
 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