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 :: проверка выбран ли файл в поле file или нет

 PHP.SU

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


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

> Без описания
sahskap
Отправлено: 24 Ноября, 2012 - 19:43:47
Post Id


Новичок


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


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




ребят помогите плиз
есть форма с которой загружают в базу данные и путь к файлу, ну естественно происходит загрузка файла
вот пользователь заполнил что ему надо и нажимает на submit если он забыл загрузить файл нужно что бы вылез confirm "Вы не загрузили файл. Продолжить?"
естественно если пользователь нажимает да то в базу заносится только информация которую он ввел тоесть загрузка файла и формирования пути к нему не идет
если же он нажмет нет, тоесть захочет все таки загрузить файл, просто выберет файл и опять нажмет submit ну естественно если файл выбран то ничего не вылезает просто все загружается и заносится в базу вот код посмотрите кто нибудь плиз
CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Загрузка файла</title>
  6. <script src="js/jquery-1.8.2.min.js" type="text/javascript"></script>
  7. <script src="js/action.js" type="text/javascript"></script>
  8.  
  9. </head>
  10. <body>
  11.  
  12. <form action="proba.php" method="POST" enctype="multipart/form-data">
  13. <input name="file" type="file">
  14. <br>
  15. <br>
  16. <input name="text" type="text">
  17. <input type="submit" name="submit">
  18. </form>
  19. <?php
  20. if(isset($_POST['submit']))
  21.         {
  22.         if($_FILES['file']['error'] === UPLOAD_ERR_NO_FILE)
  23.         {
  24.         ?>
  25. <script type="javascript">
  26.                 if(confirm('Вы не загрузили файл. Продожить?'))
  27.                         {
  28.                        
  29.                                 <?php
  30. $hostname = "localhost";
  31. $username = "alex";
  32. $passw = 123;
  33. $connect = mysql_connect($hostname, $username, $passw) or die(mysql_error());
  34. if($connect)
  35. {
  36.                                         $db = mysql_select_db("new") or die(mysql_error());
  37.                                         if($db)
  38.                                                 {
  39.                                                         $query = "INSERT INTO name  VALUES $name";
  40.                                                         $result1 = mysql_query($query);
  41.                                 }
  42.                                 }
  43.                                 ?>
  44.                         }else
  45.                         {
  46.                         alert('Загрузите файл');
  47.                         location.href=('proba.php');
  48.                         }
  49.                 </script>
  50. <?php
  51.  
  52. }else
  53. {
  54. $hostname = "localhost";
  55. $username = "alex";
  56. $passw = 123;
  57. $connect = mysql_connect($hostname, $username, $passw) or die(mysql_error());
  58. if($connect)
  59. {
  60.                                         $db = mysql_select_db("new") or die(mysql_error());
  61.                                         if($db)
  62.                                                 {
  63.                                                         $query = "INSERT INTO name  VALUES $name";
  64.                                                         $result1 = mysql_query($query);
  65.                         $record = mysql_insert_id();
  66.                                                         if($_FILES['user_banner']['error'] === UPLOAD_ERR_OK)
  67.                                                                 {
  68.                                                                         //если загрузка прошла успешно
  69.                                                                         //проверяем расширение
  70.                                                                         $file_extension = pathinfo($_FILES['user_banner']['name'],PATHINFO_EXTENSION);
  71.                                                                        
  72.                                                                         $valid_extensions = array('jpg', 'jpeg', 'png', 'gif', 'tif', 'bmp');
  73.                                                                         if(in_array($file_extension,$valid_extensions))
  74.                                                                                 {
  75.                                                                                         //проверяем размер баннера
  76.                                                                                         $valid_file_size_banner = 5000000;
  77.                                                                                         $user_banner_size = $_FILES['user_banner']['size'];
  78.                                                                                         if($user_banner_size <= $valid_file_size_banner)
  79.                                                                                                 {
  80.                                                                                                         $year_newspaper = $_POST['year'];
  81.                                                                                                         //елси не существует года, создаем
  82.                                                                                                         $dir_year = str_replace("\\","/","..\\banners\\banners\\$year_newspaper");
  83.                                                                                                         if(!is_dir($dir_year))
  84.                                                                                                         {
  85.                                                                                                                 mkdir($dir_year,0777);
  86.                                                                                                         }
  87.                                                                                                         foreach($_POST['issue'] as $_issue)
  88.                                                                                                         {
  89.                                                                                                                 $dir_issue = $dir_year."/$_issue";
  90.                                                                                                                 //сли не сущетсвует номера, создаем
  91.                                                                                                                 $path = $dir_issue."/".$record.".".$file_extension;
  92.                                                                                                                 if(!is_dir($dir_issue))
  93.                                                                                                                 {
  94.                                                                                                                 mkdir($dir_issue, 0777);
  95.                                                                                                                 }
  96.                                                                                                                
  97.                                                                                                                 if(copy($_FILES['user_banner']['tmp_name'],iconv("UTF-8","CP1251",$path)))
  98.                                                                                                                         {
  99.                                                                                                                         $info = "Ошибка копирования";
  100.                                                                                                                         }
  101.                                                                                                         }
  102.                                                                                                 }
  103.                                                                                 }
  104.                                                                 }else
  105.                                                                 {
  106.                                                                         $values_error = array
  107.                                                                         (
  108.                                                                         UPLOAD_ERR_INI_SIZE   => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
  109.                                                                         UPLOAD_ERR_FORM_SIZE  => 'Размер файла превышает указанное значение в MAX_FILE_SIZE',
  110.                                                                         UPLOAD_ERR_PARTIAL    => 'Файл был загружен только частично',
  111.                                                                         UPLOAD_ERR_NO_FILE    => 'Не был выбран файл для загрузки',
  112.                                                                         UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
  113.                                                                         UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск');
  114.                                                                         if (!empty($values_error[$_FILES['user_banner']['error']]))
  115.                                                                                 {
  116.                                                                                 $error = $values_error[$_FILES['user_banner']['error']];
  117.                                                                                 }else
  118.                                                                                         {
  119.                                                                                         echo "Успешно";
  120.                                                                                         }
  121.                                                                 }
  122.                                                                 $query = "UPDATE banners SET user_banner = '".$path."' WHERE id='".$record."'";
  123.                                                                 $result2 = mysql_query($query);
  124.                                                                 if($result1 and $result2)
  125.                                                                         {
  126.                                                                                 echo "<script>alert('Запись успешно сохранена');
  127.                                                                                 location.href = ('banners.php');
  128.                                                                                 </script>";
  129.                                                                         }
  130.                                                                         }
  131. }
  132. }
  133. }
  134.  
  135. ?>
  136. </body>
  137. </html>


вот исходник


Отредактировано модератором: Мелкий, 24 Ноября, 2012 - 22:20:32
 
 Top
esterio
Отправлено: 24 Ноября, 2012 - 19:57:31
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Оформите в тег code
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2012 - 22:21:51
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




CODE (javascript):
скопировать код в буфер обмена
  1. if (input.value == '') {
  2.   alert('Вы не выбрали файл!');
  3. }
 
 Top
LIME
Отправлено: 24 Ноября, 2012 - 23:08:31
Post Id


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


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


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




а разве можно получить доступ к валуе файла?
 
 Top
avtor.fox
Отправлено: 25 Ноября, 2012 - 00:42:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




LIME, есесьна
 
 Top
caballero
Отправлено: 25 Ноября, 2012 - 01:12:19
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
а разве можно получить доступ к валуе файла?

на чтение


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sahskap
Отправлено: 25 Ноября, 2012 - 14:30:14
Post Id


Новичок


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


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




А что я не правильно сделал? вроде бы должно работать нет?
(Добавление)
что оформить в тег code?
(Добавление)
Хорошо а можно сделать так что бы под input'ом файла была надпись красным тесктом не выбран файл естественно если файл выбрали то горит зереная надпись файл выбран но она появится должна сразу после выбора файла а не после отправки сабмита
 
 Top
Panoptik
Отправлено: 25 Ноября, 2012 - 14:38:07
Post Id



Постоянный участник


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


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




событие change на инпут с файлом


-----
Just do it
 
 Top
sahskap
Отправлено: 25 Ноября, 2012 - 14:39:32
Post Id


Новичок


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


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




ща попробуем
(Добавление)
я тут прочитал что оно только для select, text, и textarea...
 
 Top
Panoptik
Отправлено: 25 Ноября, 2012 - 14:43:44
Post Id



Постоянный участник


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


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




вы поменьше читайте такие источники, проверяйте материал в официальных источниках


-----
Just do it
 
 Top
sahskap
Отправлено: 25 Ноября, 2012 - 14:53:02
Post Id


Новичок


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


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




а где можно это прочитать не подскажите?
 
 Top
Panoptik
Отправлено: 25 Ноября, 2012 - 15:06:43
Post Id



Постоянный участник


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


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






-----
Just do it
 
 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