PHP.SU

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

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

> Найдено сообщений: 23
Фантомас Отправлено: 20 Октября, 2012 - 23:19:28 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Решил вопрос -
PHP:
скопировать код в буфер обмена
  1.        
  2. $e=$text."\r\n";
  3. $add=fopen($_REQUEST['log']."/".$_REQUEST['tov'].".txt", "a+");
  4.         fwrite($add,);

Радость
Фантомас Отправлено: 20 Октября, 2012 - 23:10:47 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Я конечно понимаю, что уже достал всех, но файл я чищу под 0 байт, а запись в файл должна быть обезательно с новой строки...
Фантомас Отправлено: 20 Октября, 2012 - 23:03:53 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
PHP:
скопировать код в буфер обмена
  1.         $add=fopen($_REQUEST['log']."/".$_REQUEST['tov'].".txt", "a+");
  2.         fwrite($add, "\n".$_REQUEST['inv']);

(Добавление)
в файле -

Proker_5kg^^^500

Fish_small_3kg^^^100

Ubant_980kg^^^1000000
Fish_small_3kg^^^100

Fish_small_3kg^^^100

Proker_5kg^^^500

Proker_5kg^^^500

Proker_5kg^^^500
Фантомас Отправлено: 20 Октября, 2012 - 22:48:51 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Большое спасибо! Заработало! Еще раз спасибо! Очень благодарен!
(Добавление)
Все, да не все(
При переводе файла в масив, с помощью file_put_content есть пустые части массива, сто за прикол?(
Фантомас Отправлено: 20 Октября, 2012 - 22:38:26 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Понял ошибку записи не с новой строки, кодовые символы \r\n надо писать в двойных скобках... ("")
Только теперь другая проблема - Вместо одного абзаца, ставит 2))
Что за прикол?
(Добавление)
PHP:
скопировать код в буфер обмена
  1.         $add=fopen($_REQUEST['log']."/".$_REQUEST['tov'].".txt", "a+");
  2.         fwrite($add, "\r\n".$_REQUEST['inv']);

Результат в файле -

Proker_5kg^^^500

Fish_small_3kg^^^100

Ubant_980kg^^^1000000

Вместо

Proker_5kg^^^500
Fish_small_3kg^^^100
Ubant_980kg^^^1000000
Фантомас Отправлено: 20 Октября, 2012 - 22:23:01 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
А он записывает с новой строки?
(Добавление)
Протестировал, записывает не с новой строки а в ту же, как это обойти?
Фантомас Отправлено: 20 Октября, 2012 - 22:08:16 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Я в этом примере не разобрался до конца, но и пусть...
Задача может быть проще...
Как с помощью fwrite записывать данные каждый раз с новой строки?
----------------
Разобрался с array_diff
PHP:
скопировать код в буфер обмена
  1. $inv = file($file_handle); //возвращяет массив (одна строка - одно значение)
  2.                 for($i=0;$i<=count($inv);$i++){
  3.                         $sel=@$sel.$inv[$i];
  4.                 }
  5. $in=explode('\r\n', $sel);
  6. $ir = array_diff($in, array("")); //удаляет пустые значения
  7. //на выходе в $arr только зополненые значения
  8.                 print_r($ir);


Только в массиве $ir все-равно есть пустые значения... В чем проблема?
Фантомас Отправлено: 20 Октября, 2012 - 21:39:05 • Тема: unset для масива • Форум: Вопросы новичков

Ответов: 19
Просмотров: 655
Положение такое - есть файл, в котором есть названия, они разделены между собой символами "\r\n" включая скобки. Когда скрипт удаляет одно название разделяющие символы остаются. При последующей перезагрузки страницы в выпадющем меню остаються пустые рядки, так как кодовые символы удаляет функция str_replace. Я решил использовать функцию unset для массива, если он пуст ( один ключ ).
Так вот код:
PHP:
скопировать код в буфер обмена
  1.  $addres=$_REQUEST['log']."/".$_REQUEST['tovar'].".txt";//Путь к файлу
  2.                 $file_handle=fopen($addres, "r");//Открываем файл для чтения
  3.                 while(!feof($file_handle)){
  4.                    $inv=@$inv.fgets($file_handle);//Получаем весь текст файла в одну строку
  5.                 }
  6.                 $in=explode('"\r\n"', $inv);//Розбиваем файл на масив по кодовыйх символай
  7.                 $ir=str_replace('"\r\n"', '', $in);//Удаляем кодовые символы
  8.                 for($i=0;$i<=count($ir);$i++){
  9.                         if($ir[$i]==''){
  10.                          unset($in[$i]);//Вот тут загвоздка
  11.                         }
  12.                 }
  13.                 print_r($ir);



Подскажите - где ошибка? Почему Unset не удаляет часть массива?

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB