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 :: Проверка формата при upload

 PHP.SU

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


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

> Без описания
miraliko
Отправлено: 13 Января, 2017 - 01:40:29
Post Id


Новичок


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


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




Ув. форумчане , помогите сделать проверку на формат изображении при загрузке. Мне надо что бы пропускал только Jpg jpeg png gif. Все остальное надо игнорировать.
Вот страница.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.         //dobavlyaem v chorniy spisok
  5.         if (isset($_POST['submit_add'])) {
  6.  
  7.                 $error = "";
  8.  
  9.                
  10.  
  11.                 $path = "img/blacklist/".basename($_FILES['image']['name']);
  12.  
  13.                 $image = $_FILES['image']['name'];
  14.                 $text = $_POST['text'];
  15.                 $julik = $_POST['julik'];              
  16.                 $login = $_SESSION['login'];
  17.  
  18.  
  19.                 if (trim($julik) == "") {
  20.                         $error = "Забыли ник нарушителя!";
  21.                 }
  22.                 if (trim($text) == "") {
  23.                         $error = "Забыли написать описание!";
  24.                 }      
  25.  
  26.                 if (empty($error)) {
  27.  
  28.                         $query = "INSERT INTO `blacklist` (`avtor`, `julik`, `text`, `image`) VALUES ('$login','$julik', '$text', '$image')";
  29.                         mysqli_query($link, $query);
  30.  
  31.                         if (move_uploaded_file($_FILES['image']['tmp_name'], $path)) {
  32.                         }
  33.                         $error = "Запись успешно добавлен!";
  34.          }
  35.  
  36.          echo "<font style='color: red;'>".$error."</font>";
  37.         }
  38.        
  39.  
  40.                     if (isset($_POST['delete'])) {
  41.                 $id = (int) $_POST['id'];
  42.                 $del = "DELETE FROM blacklist WHERE id = '" . $id . "'";
  43.                 mysqli_query($link, $del);
  44.                 header('Location: /blacklist.php');
  45.                 exit;
  46.                         }
  47.  
  48.  
  49.  
  50. ?>
  51.  
  52. <script>
  53. $(document).ready(function() {
  54.   $('#slide_click2').show();
  55.   $('#slide2').hide();
  56.  
  57.   $('#slide_click2').click(function(event) {
  58.     event.preventDefault(); // Для того чтобы при нажатии на ссылку не кидало вверх
  59.     $('#slide2').slideToggle();
  60.   });
  61. });
  62.  
  63. /* textarea ограничение по символу */
  64. $(document).ready(function(){
  65.     var maxCount = 175;
  66.  
  67.     $("#counter").html(maxCount);
  68.  
  69.     $("#review-text").keyup(function() {
  70.     var revText = this.value.length;
  71.  
  72.         if (this.value.length > maxCount)
  73.             {
  74.             this.value = this.value.substr(0, maxCount);
  75.             }
  76.         var cnt = (maxCount - revText);
  77.         if(cnt <= 0){$("#counter").html('0');}
  78.         else {$("#counter").html(cnt);}
  79.  
  80.     });
  81. });
  82.  
  83. /* input Login ограничение по символу */
  84. $(document).ready(function(){
  85.     var maxCount = 17;
  86.  
  87.     $("#counter_l").html(maxCount);
  88.  
  89.     $("#review-text_l").keyup(function() {
  90.     var revText = this.value.length;
  91.  
  92.         if (this.value.length > maxCount)
  93.             {
  94.             this.value = this.value.substr(0, maxCount);
  95.             }
  96.         var cnt = (maxCount - revText);
  97.         if(cnt <= 0){$("#counter_l").html('0');}
  98.         else {$("#counter_l").html(cnt);}
  99.  
  100.     });
  101. });
  102. </script>
  103. <div id="black_karkas">
  104.         <fieldset>
  105.         <legend><strong>Добавление в Черный Список</strong></legend>
  106.         <div id="add">
  107.         <p>«Черный список» — добавляем нарушителей нашего прекрасного мира АнтиБК. Сюда можно добавить тех кто часто кидает Искалечить (просто вредить игрокам), кто кинул в сделках, при походе в пещере и так далее. Список можно бесконечно заполнять. И так , если вы уверены что нарушитель объязан быть в общедоступном списке то - </p> 
  108.         <?PHP if (isset($_SESSION['login']) && ($_SESSION['login'])) { ?>
  109.  
  110.                 <input type='button' value='Заполнить форму' class="btn" id="slide_click2">
  111.  
  112.                 <?PHP } else {
  113.                         echo "<strong style='color: red;'>Без регистрации</strong><img src='http://img.anticombats.com/i/smile/nono.gif'>";
  114.                         } ?>
  115.                         <div id="slide2">
  116.                                 <fieldset class="black_form">
  117.                                 <legend><strong>Что натворил нарушитель?!</strong></legend>
  118.                                 <form method="POST" enctype="multipart/form-data">
  119.                                         <input type="text" name="julik" class="inp" placeholder="Логин нарушителя" id="review-text_l" value="<?PHP echo @$_POST['julik']; ?>">Осталось символов: <span id="counter"></span>                                     <textarea name="text" class="inp" id="review-text" placeholder="Описания" rows="10" cols="45" value="<?PHP echo @$_POST['text']; ?>"></textarea>                                        <input type="file" name="image" class="inp"> - выберите формат <strong>.jpg .jpeg .png .gif</strong>                                    <button type="submit" name="submit_add" class="btn" class="knopka">Добавить в ЧС!</button>
  120.                                 </form>
  121.                                 </fieldset>
  122.                         </div>         
  123.         </div>
  124.         </fieldset>    
  125.         <fieldset>
  126.         <legend><strong>Черный Список</strong></legend>
  127.         <div id="pokaz">
  128.                 <?PHP
  129.                 //pokazivaem spisok
  130.                         $query = "SELECT * FROM `blacklist` ORDER BY id DESC";
  131.                         $result = mysqli_query($link, $query);
  132.                         while ($row = mysqli_fetch_array($result)) {
  133.                                 $row['text'] = "<pre>".$row['text']."</pre>";
  134.                                 echo "<div class='ramka'><div id='img_div'><fieldset class='blborder'><legend>***</legend>";
  135.                                 if (isset($_SESSION['login']) && ($_SESSION['login'])) {
  136.                                 echo "Автор:<strong>&nbsp;".$row['avtor']."</strong><br>"; ?>
  137.                                 <? } if ($_SESSION['login'] == 'art99') {
  138.                                 echo "<form method='POST'><input type='hidden' name='id' value='" . $row['id'] . "'><button type='submit' name='delete' class='btn'>Удалить</button></form><br>";
  139.                                 }
  140.                                 echo "Имя нарушителя:<strong>&nbsp;".$row['julik']."</strong>&nbsp;&nbsp;<br>";
  141.                                 echo "Краткое описание:<strong>&nbsp;".$row['text']."</strong>";
  142.                                 if (!$row['image'] == "") {
  143.                                 echo "<a href='/img/blacklist/".$row['image']."' target='_blank'><button class='btn'>Алиби</button></a>";
  144.                                 }
  145.                                 echo "</fieldset></div></div>";
  146.                         }
  147.                 ?>     
  148.         </div>
  149.         </fieldset>    
  150. </div>
  151.  

(Добавление)
Пробую так , постоянно пишет неверный формат.
Запутался сильно ((

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.         //dobavlyaem v chorniy spisok
  5.         if (isset($_POST['submit_add'])) {
  6.  
  7.                 $error = "";
  8.  
  9.                 $filebasename = basename($_FILES['upfile']['name']);
  10.                 $ext = strtolower(substr($filebasename, strrpos($filebasename, '.') + 1));
  11.  
  12.                 if (($ext == "jpg" || $ext == "png") && ($_FILES["upfile"]["type"] == "image/jpeg" || $_FILES["upfile"]["type"] == "image/png")) {     
  13.                                
  14.                 $desired_dir = "img/blacklist/";
  15.                 $file_name = $_FILES['upfile']['name'];
  16.                         if (file_exists($desired_dir . $file_name)) {
  17.                                 $error = $file_name."сушествует";
  18.                         } else {
  19.                                 move_uploaded_file($_FILES["upfile"]["tmp_name"], $desired_dir . $file_name);
  20.                                 $error = $file_name . "загружено";
  21.                         }
  22.  
  23.                 } else {
  24.                         $error = "Не правильный формат!";
  25.                 }
  26.  
  27.                 $text = $_POST['text'];
  28.                 $julik = $_POST['julik'];              
  29.                 $login = $_SESSION['login'];
  30.  
  31.  
  32.                 if (trim($julik) == "") {
  33.                         $error = "Забыли ник нарушителя!";
  34.                 }
  35.                 if (trim($text) == "") {
  36.                         $error = "Забыли написать описание!";
  37.                 }      
  38.  
  39.                 if (empty($error)) {
  40.  
  41.                         $query = "INSERT INTO `blacklist` (`avtor`, `julik`, `text`, `image`) VALUES ('$login','$julik', '$text', '$file_name')";
  42.                         mysqli_query($link, $query);
  43.  
  44.                         $error = "Запись успешно добавлен!";
  45.          }
  46.  
  47.          echo "<font style='color: red;'>".$error."</font>";
  48.         }
  49.        
  50.  
  51.                     if (isset($_POST['delete'])) {
  52.                 $id = (int) $_POST['id'];
  53.                 $del = "DELETE FROM blacklist WHERE id = '" . $id . "'";
  54.                 mysqli_query($link, $del);
  55.                 header('Location: /blacklist.php');
  56.                 exit;
  57.                         }
  58.  
  59.  
  60.  
  61. ?>
  62.  
  63. <script>
  64. $(document).ready(function() {
  65.   $('#slide_click2').show();
  66.   $('#slide2').hide();
  67.  
  68.   $('#slide_click2').click(function(event) {
  69.     event.preventDefault(); // Для того чтобы при нажатии на ссылку не кидало вверх
  70.     $('#slide2').slideToggle();
  71.   });
  72. });
  73.  
  74. /* textarea ограничение по символу */
  75. $(document).ready(function(){
  76.     var maxCount = 175;
  77.  
  78.     $("#counter").html(maxCount);
  79.  
  80.     $("#review-text").keyup(function() {
  81.     var revText = this.value.length;
  82.  
  83.         if (this.value.length > maxCount)
  84.             {
  85.             this.value = this.value.substr(0, maxCount);
  86.             }
  87.         var cnt = (maxCount - revText);
  88.         if(cnt <= 0){$("#counter").html('0');}
  89.         else {$("#counter").html(cnt);}
  90.  
  91.     });
  92. });
  93.  
  94. /* input Login ограничение по символу */
  95. $(document).ready(function(){
  96.     var maxCount = 17;
  97.  
  98.     $("#counter_l").html(maxCount);
  99.  
  100.     $("#review-text_l").keyup(function() {
  101.     var revText = this.value.length;
  102.  
  103.         if (this.value.length > maxCount)
  104.             {
  105.             this.value = this.value.substr(0, maxCount);
  106.             }
  107.         var cnt = (maxCount - revText);
  108.         if(cnt <= 0){$("#counter_l").html('0');}
  109.         else {$("#counter_l").html(cnt);}
  110.  
  111.     });
  112. });
  113. </script>
  114. <div id="black_karkas">
  115.         <fieldset>
  116.         <legend><strong>Добавление в Черный Список</strong></legend>
  117.         <div id="add">
  118.         <p>«Черный список» — добавляем нарушителей нашего прекрасного мира АнтиБК. Сюда можно добавить тех кто часто кидает Искалечить (просто вредить игрокам), кто кинул в сделках, при походе в пещере и так далее. Список можно бесконечно заполнять. И так , если вы уверены что нарушитель объязан быть в общедоступном списке то - </p> 
  119.         <?PHP if (isset($_SESSION['login']) && ($_SESSION['login'])) { ?>
  120.  
  121.                 <input type='button' value='Заполнить форму' class="btn" id="slide_click2">
  122.  
  123.                 <?PHP } else {
  124.                         echo "<strong style='color: red;'>Без регистрации</strong><img src='http://img.anticombats.com/i/smile/nono.gif'>";
  125.                         } ?>
  126.                         <div id="slide2">
  127.                                 <fieldset class="black_form">
  128.                                 <legend><strong>Что натворил нарушитель?!</strong></legend>
  129.                                 <form method="POST" enctype="multipart/form-data">
  130.                                         <input type="text" name="julik" class="inp" placeholder="Логин нарушителя" id="review-text_l" value="<?PHP echo @$_POST['julik']; ?>">Осталось символов: <span id="counter"></span>                                     <textarea name="text" class="inp" id="review-text" placeholder="Описания" rows="10" cols="45" value="<?PHP echo @$_POST['text']; ?>"></textarea>                                        <input type="file" name="image" class="inp"> - выберите формат <strong>.jpg .jpeg .png .gif</strong>                                    <button type="submit" name="submit_add" class="btn" class="knopka">Добавить в ЧС!</button>
  131.                                 </form>
  132.                                 </fieldset>
  133.                         </div>         
  134.         </div>
  135.         </fieldset>    
  136.         <fieldset>
  137.         <legend><strong>Черный Список</strong></legend>
  138.         <div id="pokaz">
  139.                 <?PHP
  140.                 //pokazivaem spisok
  141.                         $query = "SELECT * FROM `blacklist` ORDER BY id DESC";
  142.                         $result = mysqli_query($link, $query);
  143.                         while ($row = mysqli_fetch_array($result)) {
  144.                                 $row['text'] = "<pre>".$row['text']."</pre>";
  145.                                 echo "<div class='ramka'><div id='img_div'><fieldset class='blborder'><legend>***</legend>";
  146.                                 if (isset($_SESSION['login']) && ($_SESSION['login'])) {
  147.                                 echo "Автор:<strong>&nbsp;".$row['avtor']."</strong><br>"; ?>
  148.                                 <? } if ($_SESSION['login'] == 'art99') {
  149.                                 echo "<form method='POST'><input type='hidden' name='id' value='" . $row['id'] . "'><button type='submit' name='delete' class='btn'>Удалить</button></form><br>";
  150.                                 }
  151.                                 echo "Имя нарушителя:<strong>&nbsp;".$row['julik']."</strong>&nbsp;&nbsp;<br>";
  152.                                 echo "Краткое описание:<strong>&nbsp;".$row['text']."</strong>";
  153.                                 if (!$row['image'] == "") {
  154.                                 echo "<a href='/img/blacklist/".$row['image']."' target='_blank'><button class='btn'>Алиби</button></a>";
  155.                                 }
  156.                                 echo "</fieldset></div></div>";
  157.                         }
  158.                 ?>     
  159.         </div>
  160.         </fieldset>    
  161. </div>
  162.  
 
 Top
teleoperator27
Отправлено: 13 Января, 2017 - 04:34:15
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $valid_types =  array("gif","jpg", "png", "jpeg");
  2.  
  3. $ext = substr($_FILES['upfile']['name'], 1 + strrpos($_FILES['upfile']['name'], "."));
  4.  
  5. if (!in_array($ext, $valid_types)) {
  6.   $error = "Неправильный формат!";
  7. }

как то так
 
My status
 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