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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: проверка первой строки в текстовом файле
sympler
Отправлено: 03 Августа, 2011 - 18:25:28
Post Id


Новичок


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


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




задача: проверить первую строку в файле и если она совпадает с нужным текстом то делать обработку иначе написать что мол файл не тот..

вот код который почему то не работает

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if (isset($_POST['submit'])) {  
  4.        
  5.  
  6.                 $data = file($_FILES['file']['tmp_name']);
  7.                
  8.                 // вот тут и есть проверка первой строки
  9.  
  10.                 if(strpos($data[0],'ID;NAME;FIRM_TYPE') === true ) {
  11.                         echo '<a name="mess" href="#"></a><div class="green">Неправильный файл! Первая строка должна содержать "ID;NAME;FIRM_TYPE"</div>';
  12.                 }
  13.                 else
  14.                 {
  15. // тут сам разберусь )))
  16. }
  17. }
  18.  

(Отредактировано автором: 03 Августа, 2011 - 18:25:49)

 
 Top
Arni
Отправлено: 03 Августа, 2011 - 18:42:18
Post Id



Гость


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


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




Я не уверен, но помоему в $_FILES['file']['tmp_name'] хранится временное имя файла и функция file просто не может его достать. Нужно переместить файл в доступную для file папку на сервере.

Но я могу и ошибаться.
 
 Top
Мелкий Супермодератор
Отправлено: 03 Августа, 2011 - 19:33:45
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Arni, может-может.

sympler, что значит "не работает"? Посмотрите это: http://php.su/phphttp/?uerrcodes Ну и, кончно, классика жанра: phpfaq.ru/debug


-----
PostgreSQL DBA
 
 Top
sympler
Отправлено: 03 Августа, 2011 - 20:25:21
Post Id


Новичок


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


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




вы меня отправляете в разделы для новичков...
вы бы еще отправили на сайт php.net

я привел более чем подробный код.
подробно объяснил задачу.
что еще вам нужно?

создайте файл
напишите в нем вот это: ID;NAME;FIRM_TYPE
и попробуйте выполнить код.
код не работает. он все время возвращает истину и не важно какой файл ему давать...
 
 Top
Мелкий Супермодератор
Отправлено: 03 Августа, 2011 - 20:43:42
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




sympler пишет:
вы меня отправляете в разделы для новичков...
вы бы еще отправили на сайт php.net

Да запросто отправлю, если посчитаю, что он полнее ответит на ваш вопрос.
И да - вы зелёный новичок. Человек, неспособный самостоятельно определить точное место проблемы в 3-х мануальных функциях никем, кроме новичка быть не может.

sympler пишет:
что еще вам нужно?

Описание как не работает.

sympler пишет:
он все время возвращает истину и не важно какой файл ему давать...

Во-первых, strpos никогда true не возвращает.
Во-вторых - http://php.su/phphttp/?uerrcodes . Не понимаете ссылкой - скажу словами - убедитесь, что файл пришёл.
В-третьих - phpfaq.ru/debug . В частности:
PHP:
скопировать код в буфер обмена
  1. var_dump($data[0],'ID;NAME;FIRM_TYPE', strpos($data[0],'ID;NAME;FIRM_TYPE'));


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 03 Августа, 2011 - 20:44:19
Post Id


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


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


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




strpos никогда не бывает эквивалентен true априори
или позицию возвращает что не есть булеан
или false
правильно?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB