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]   

> Без описания
ratatata
Отправлено: 03 Сентября, 2009 - 17:05:02
Post Id


Новичок


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


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




Выделено в отдельную тему из темы "Вопросы новичка опытным"
Помогите пожалуйста. я новичек. Я хотел, чтобы скрипт показывал ошибку, если в форму введено больше символов, чем нужно. Но он по-любому выводит ошибку: хоть я введу столько сколько нужно. В чем ошибка?

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. /* Максимальные зночения символов */
  4. $max_line_forma = file("../sys/stroki/max_lin.dat");
  5. list($max_name_site,$max_adr_site,$max_infa_site) = explode("|",$max_line_forma[0]);
  6.  
  7. //Скрипт записи данных в флйл
  8. if (isset($action) and $action == "scr_add"){
  9.  
  10.  
  11. if (strlen($nam_site) <= $max_name_site){
  12.  
  13. /*************************************************************************************************/
  14. $adr_file = "../data/bd.dat"; //Файл куда все записывается. Адреса сайтов и их описание
  15. $masiv = array($nam_site,$url_site,$infa); // Масив из переменых
  16. $stroka = implode("|",$masiv). "\r\n"; // Разделили переменые масива этой палочкой |
  17. $f = fopen($adr_file,"a+"); // Открыли файл
  18. fwrite($f,$stroka);
  19. fclose($f);
  20. echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=/index.php\">";
  21. /**********************************************************************************************/
  22. }
  23. else {
  24. echo"Ошибка";}
  25. }
  26.  
  27.  
  28. ?>
  29.  
 
 Top
Nikola
Отправлено: 03 Сентября, 2009 - 18:48:21
Post Id



Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Авг. 2009  
Откуда: Одесса, Украина


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




Как я понимаю:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /* Максимальные зночения символов */
  4. $max_line_forma = file("max_lin.txt");
  5. list($max_name_site,$max_adr_site,$max_infa_site) = explode("|",$max_line_forma[0]);
  6. //Скрипт записи данных в флйл
  7. //if (isset($action) and $action == "scr_add")    
  8. //if (strlen($nam_site) <= $max_name_site){      
  9.  if (12 <= $max_name_site)
  10.  {
  11.   $adr_file = "bd.txt"; //Файл куда все записывается. Адреса сайтов и их описание
  12.   $masiv = array($nam_site,$url_site,$infa); // Масив из переменых
  13.   $stroka = implode("|",$masiv). "\r\n"; // Разделили переменые масива этой палочкой |
  14.   $f = fopen($adr_file,"a+"); // Открыли файл
  15.   fwrite($f,$stroka);
  16.   fclose($f);
  17.   echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=/index.php\">";
  18.  }
  19.  else
  20.  {
  21.   echo"Ошибка";
  22.  }
  23. //}
  24.  
  25. ?>
  26.  

В таком варианте скрипт выдает слово "ошибка".
На мой взгляд 2 варианта ошибки:
1. Не правильно прописаны пути к файлам.
2. не срабатывает: if (isset($action) and $action == "scr_add").

Формат файла max_lin.txt : 10|10|5
т.е. таким образом записано.
 
 Top
ratatata
Отправлено: 04 Сентября, 2009 - 00:27:00
Post Id


Новичок


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


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




Пути к файлам говоришь.. Надо будет проверить.. Спасибо
 
 Top
chaynyk
Отправлено: 04 Сентября, 2009 - 08:04:26
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


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




Наверно так :
PHP:
скопировать код в буфер обмена
  1. #
  2. $adr_file = "/data/bd.dat"; //Файл куда все записывается. Адреса сайтов и их описание
  3. #
  4. $masiv = array($nam_site,$url_site,$infa); // Масив из переменых
  5. #
  6. $stroka = implode("|",$masiv). "\r\n"; // Разделили переменые масива этой палочкой |
  7. #
  8. $f = fopen($adr_file,"a+"); // Открыли файл
  9. #
  10. flock ($f,LOCK_EX);
  11. ftruncate($f, o);
  12. fwrite($f,$stroka);
  13. #
  14. flock ($f,LOCK_UN);
  15. fclose($f);


А это мой вариант, более быстрей по времени и проще:
PHP:
скопировать код в буфер обмена
  1.  
  2. $conern="$nam_site|$url_site|$infa\r\n" ; //Масив переменых не нужно если идут входные данные без массива
  3. $adr_file="/data/bd.dat";   //..-возможно и не нужно  Файл куда все записывается. Адреса сайтов и их описание
  4. file_put_contents($adr_file,$conern, FILE_APPEND);  //FILE_APPEND- в конец файла добавить


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB