PHP.SU

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

Страниц (8): « 1 2 [3] 4 5 6 7 8 »

> Найдено сообщений: 117
shahin Отправлено: 27 Октября, 2017 - 23:25:34 • Тема: При переносе с openserver сайт не работает • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1779
Sail пишет:
shahin пишет:
Call to a member function fetch_assoc() on boolean

Потому что метод, выполняющий запрос к БД вернул false.
Например: mysqli::query()
Причина - синтаксическая ошибка в сформированном запросе, либо...
Подробности можно узнать, воспользовавшись методом (или свойством), возвращающим (или содержащем) информацию об ошибке...
Например: mysqli::$error
Там и примеры есть.
Можно перед выполнением запроса просто вывести его текст в браузере и увидеть, что не так...
(Добавление)
Или это был запрос, не предусматривающий возврат набора данных (insert, update), а Вы его результат по инерции fetch() скармливаете Улыбка

а почему тогда на опенсервере работает все без проблем?
Вот строка 75
PHP:
скопировать код в буфер обмена
  1.  
  2. 70.   function Auth($login, $pass) {
  3. 71.       global $mysqli;
  4. 72.       connectDB();
  5. 73.       $result_set = $mysqli->query("SELECT * FROM `users` WHERE `login`='".$login."' AND `password`= '".$pass."'");
  6. 74.       closeDB();
  7. 75.       if ($result_set->fetch_assoc()) return true;
  8. 76.       else return false;
  9. 77.    }
  10.  
shahin Отправлено: 27 Октября, 2017 - 22:13:51 • Тема: При переносе с openserver сайт не работает • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1779
Строитель пишет:
shahin, посмотрите тут

Спасибо посмотрел но это не помогло
shahin Отправлено: 27 Октября, 2017 - 21:30:25 • Тема: При переносе с openserver сайт не работает • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1779
Здравствуйте, на локалке все нормально работало но когда сайт загрузил на сервер появилась ошибка
PHP:
скопировать код в буфер обмена
  1. Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in /var/www/u0406312/public_html/azecms.com/core/core.php:75 Stack trace: #0 /var/www/u0406312/public_html/azecms.com/core/core.php(94): Auth(false, false) #1 /var/www/u0406312/public_html/azecms.com/index.php(39): require_once('/var/www/u04063...') #2 {main} thrown in /var/www/u0406312/public_html/azecms.com/core/core.php on line 75
shahin Отправлено: 19 Сентября, 2017 - 20:18:33 • Тема: Нужно написать скрипт за деньги • Форум: FreeLance

Ответов: 2
Просмотров: 821
Здравствуйте, кто сможет написать не сложный скрипт массовой загрузки фото
shahin Отправлено: 11 Февраля, 2017 - 14:15:13 • Тема: Загрузка файлов • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 565
Здравствуйте есть шесть форм выбора файлов
если я заполняю не все формы то выдаётся ошибка. как сделать чтобы загружалось столько файлов сколько я выберу
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="file" id="img1" name="images[]" multiple="true" accept="image/*" />
  3.  
  4. <div id="select_cont">
  5.  <a href="#" id="reset-img-preview1" style="display:none"><img class="close" src="css/x.png" /></a>
  6. <div id="trigger1">
  7. <img id="img-preview1" src="css/add.png" /></div>
  8. </div>
  9. </p>
  10. </li>
  11. <!--- ############  2   ############## --->
  12.  
  13. <li>
  14. <p>
  15. <input type="file" id="img2" name="images[]" multiple="true" accept="image/*" />
  16.  
  17. <div id="select_cont">
  18.  <a href="#" id="reset-img-preview2" style="display:none"><img class="close" src="css/x.png" /></a>
  19. <div id="trigger2">
  20. <img id="img-preview2" src="css/add.png" /></div>
  21. </div>
  22. </p>
  23. </li>
  24.  
  25. <!--- ############  3  ############### --->
  26.  
  27. <li>
  28. <p>
  29. <input type="file" id="img3" name="images[]" multiple="true" accept="image/*" />
  30.  
  31. <div id="select_cont">
  32.  <a href="#" id="reset-img-preview3" style="display:none"><img class="close" src="css/x.png" /></a>
  33. <div id="trigger3">
  34. <img id="img-preview3" src="css/add.png" /></div>
  35. </div>
  36. </p>
  37. </li>
  38.  
  39. <!--- ############  4   ############### --->
  40.  
  41. <li>
  42. <p>
  43. <input type="file" id="img4" name="images[]" multiple="true" accept="image/*" />
  44.  
  45. <div id="select_cont">
  46.  <a href="#" id="reset-img-preview4" style="display:none"><img class="close" src="css/x.png" /></a>
  47. <div id="trigger4">
  48. <img id="img-preview4" src="css/add.png" /></div>
  49. </div>
  50. </p>
  51. </li>
  52.  
  53. <!--- ############  5   ############### --->
  54.  
  55. <li>
  56. <p>
  57. <input type="file" id="img5" name="images[]" multiple="true" accept="image/*" />
  58.  
  59. <div id="select_cont">
  60.  <a href="#" id="reset-img-preview5" style="display:none"><img class="close" src="css/x.png" /></a>
  61. <div id="trigger5">
  62. <img id="img-preview5" src="css/add.png" /></div>
  63. </div>
  64. </p>
  65. </li>
  66.  
  67. <!--- ############  6   ############### --->
  68.  
  69. <li>
  70. <p>
  71. <input type="file" id="img6" name="images[]" multiple="true" accept="image/*" />
  72.  
  73. <div id="select_cont">
  74.  <a href="#" id="reset-img-preview6" style="display:none"><img class="close" src="css/x.png" /></a>
  75. <div id="trigger6">
  76. <img id="img-preview6" src="css/add.png" /></div>
  77. </div>
  78. </p>
  79. </li>
  80. </ul>
  81. <!--- ############################## --->
  82. </table>
  83. <script>
  84. document.getElementById('trigger1').onclick = function(){
  85. document.getElementById('img1').click();
  86. }
  87. document.getElementById('trigger2').onclick = function(){
  88. document.getElementById('img2').click();
  89. }
  90. document.getElementById('trigger3').onclick = function(){
  91. document.getElementById('img3').click();
  92. }
  93. document.getElementById('trigger4').onclick = function(){
  94. document.getElementById('img4').click();
  95. }
  96. document.getElementById('trigger5').onclick = function(){
  97. document.getElementById('img5').click();
  98. }
  99. document.getElementById('trigger6').onclick = function(){
  100. document.getElementById('img6').click();
  101. }
  102. </script>
  103.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //ширина и высота в пикселях
  4. $pic_weight = 300000;
  5. $pic_height = 300000;
  6. if (isset($_FILES))
  7. {
  8.   # Массив для имён изображений
  9.  $names = array();
  10.   //пролистываем весь массив изображений по одному $_FILES
  11.   foreach ($_FILES['images']['name'] as $k=>$v)
  12.   {
  13.     //директория загрузки
  14.     $uploaddir = "img_elan/";
  15.     //новое имя изображения
  16.     $apend=rand(10,100).rand(100,1000).'.png';
  17.     //путь к новому изображению
  18.     $names[] = $apend;
  19.     $uploadfile = $uploaddir . $apend;
  20.     //Проверка расширений загружаемых изображений
  21.     if($_FILES['images']['type'][$k] == "image/" ||
  22. $_FILES['images']['type'][$k] == "image/gif" || $_FILES['images']['type'][$k] == "image/png" ||
  23.     $_FILES['images']['type'][$k] == "image/jpg" || $_FILES['images']['type'][$k] == "image/jpeg")
  24.     {
  25.       //черный список типов файлов
  26.       $blacklist = array(".php", ".phtml", ".php3", ".php4");
  27.       foreach ($blacklist as $item)
  28.       {
  29.         if(preg_match("/$item\$/i", $_FILES['images']['name'][$k]))
  30.         {
  31.           echo "Нельзя загружать скрипты.";
  32.           exit;
  33.         }
  34.       }
  35.  
  36.       //перемещаем файл из временного хранилища
  37.       if (move_uploaded_file($_FILES['images']['tmp_name'][$k], $uploadfile))
  38.       {
  39.         //получаем размеры файла
  40.         $size = getimagesize($uploadfile);
  41.         //проверяем размеры файла, если они нам подходят, то оставляем файл
  42.         if ($size[0] < $pic_weight && $size[1] < $pic_height){
  43.             echo "";
  44. }
  45.         else
  46.         {
  47.           echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
  48.           unlink($uploadfile);
  49.         }
  50.       }
  51.       else
  52.         echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
  53.     }
  54.     else
  55.       echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  56.   }
  57.  
  58.       $img_str = implode(',', $names);
  59.       echo $img_str;
  60.  
  61.                 connectDB();
  62.                 $mysqli->query("INSERT INTO `elan`   (`img`) VALUES ('" . $img_str . "')");
  63.                 closeDB();
  64.          
  65.  
  66.     }
shahin Отправлено: 11 Февраля, 2017 - 00:03:27 • Тема: Передача данных в PHP • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1044
LIME пишет:
Чего сразу оскорбление? Почему дурак

Думаете я сразу на форум побежал? Я перегуглил и перепробовал все что нашёл большинство скриптов работают с multiple, андроид и Иос и ещё некоторые браузеры его не поддерживают. хотябы ссылкой на рабочий скрипт помогли
shahin Отправлено: 10 Февраля, 2017 - 22:57:39 • Тема: Передача данных в PHP • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1044
LIME пишет:
shahin пишет:
Видимо вопрос не так сформулировал.
это мягко сказано
В клиентском js ничего не хранится
Почти
Ибо это уязвимость
Если бы ты мог файлами управлять? А файл паролей? Вооот...
Есть готовые плагины для жуйквери... больше ничего не посоветую ибо не работаю с этим гавном уже более двух лет и все забыл
И тебе советую не учить
Варианты сейчас ангулар и реакт
Фронтовикам реакт больше нравится потому что они обычно ламеры
Както так


Уже сколько времени хочу на сайт поставить добавление картинок как на avito ru но не могу найти. Вот нашёл скрипт который описал выше, с его помощью можно выбирать несколько файлов с предпросмотром и удалять но передать в форму не могу только один файл передаётся
shahin Отправлено: 10 Февраля, 2017 - 21:52:05 • Тема: Передача данных в PHP • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1044
Видимо вопрос не так сформулировал. Не подскажете где в jquery хранятся выбранные картинки в каком массиве я в javascript ноль. Как мне в $_FILES с помощью скрипта передать данные
shahin Отправлено: 09 Февраля, 2017 - 21:31:27 • Тема: Передача данных в PHP • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1044
Здравствуйте, скачал скрипт массовой загрузки файлов с предпросмотром. С помощью скрипта выбирау картинки но при отправки на скрипт обработчик на php, загружается толкование одна картинка, а не столько сколько выбрано.
вот jquery скрипт
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. (function($) {
  4.   defaults = {
  5.     formDataKey: "files",
  6.     buttonText: "Add Files",
  7.     buttonClass: "file-preview-button",
  8.     shadowClass: "file-preview-shadow",
  9.     tableCss: "file-preview-table",
  10.     tableRowClass: "file-preview-row",
  11.     placeholderClass: "file-preview-placeholder",
  12.     loadingCss: "file-preview-loading",
  13.     tableTemplate: function() {
  14.       return "<table class='table table-striped file-preview-table' id='file-preview-table'>" +
  15.                "<tbody></tbody>" +
  16.              "</table>";
  17.     },
  18.     rowTemplate: function(options) {
  19.       return "<tr class='" + config.tableRowClass + "'>" +
  20.                "<td>" + "<img src='" + options.src + "' class='" + options.placeholderCssClass + "' />" + "</td>" +
  21.                "<td class='filename'>" + options.name + "</td>" +
  22.                "<td class='filesize'>" + options.size + "</td>" +
  23.                "<td class='remove-file'><button class='btn btn-danger'>&times;</button></td>" +
  24.              "</tr>";
  25.     },
  26.     loadingTemplate: function() {
  27.       return "<div id='file-preview-loading-container'>" +
  28.                "<div id='"+config.loadingCss+"' class='loader-inner ball-clip-rotate-pulse no-show'>" +
  29.                  "<div></div>" +
  30.                  "<div></div>" +
  31.                "</div>" +
  32.              "</div>";
  33.     }
  34.   }
  35.  
  36.   //NOTE: Depends on Humanize-plus (humanize.js)
  37.   if(typeof Humanize == 'undefined' || typeof Humanize.filesize != 'function'){
  38.     $.getScript("https://cdnjs.cloudflare.com/ajax/libs/humanize-plus/1.5.0/humanize.min.js")
  39.   }
  40.  
  41.   var getFileSize = function(filesize) {
  42.     return Humanize.fileSize(filesize);
  43.   };
  44.  
  45.   // NOTE: Ensure a required filetype is matching a MIME type
  46.   // (partial match is fine) and not matching against file extensions.
  47.   //
  48.   // Quick ref:  http://www.sitepoint.com/web-foundations/mime-types-complete-list/
  49.   //
  50.   // NOTE: For extended support of mime types, we should use https://github.com/broofa/node-mime
  51.   var getFileTypeCssClass = function(filetype) {
  52.     var fileTypeCssClass;
  53.     fileTypeCssClass = (function() {
  54.       switch (true) {
  55.         case /video/.test(filetype):
  56.           return 'video';
  57.         case /audio/.test(filetype):
  58.           return 'audio';
  59.         case /pdf/.test(filetype):
  60.           return 'pdf';
  61.         case /csv|excel/.test(filetype):
  62.           return 'spreadsheet';
  63.         case /powerpoint/.test(filetype):
  64.           return 'powerpoint';
  65.         case /msword|text/.test(filetype):
  66.           return 'document';
  67.         case /zip/.test(filetype):
  68.           return 'zip';
  69.         case /rar/.test(filetype):
  70.           return 'rar';
  71.         default:
  72.           return 'default-filetype';
  73.       }
  74.     })();
  75.     return defaults.placeholderClass + " " + fileTypeCssClass;
  76.   };
  77.  
  78.   $.fn.uploadPreviewer = function(options, callback) {
  79.     var that = this;
  80.  
  81.     if (!options) {
  82.       options = {};
  83.     }
  84.     config = $.extend({}, defaults, options);
  85.     var buttonText,
  86.         previewRowTemplate,
  87.         previewTable,
  88.         previewTableBody,
  89.         previewTableIdentifier,
  90.         currentFileList = [];
  91.  
  92.     if (window.File && window.FileReader && window.FileList && window.Blob) {
  93.  
  94.       this.wrap("<span class='btn btn-primary " + config.shadowClass + "'></span>");
  95.       buttonText = this.parent("." + config.shadowClass);
  96.       buttonText.prepend("<span>" + config.buttonText + "</span>");
  97.       buttonText.wrap("<span class='" + config.buttonClass + "'></span>");
  98.  
  99.       previewTableIdentifier = options.preview_table;
  100.       if (!previewTableIdentifier) {
  101.         $("span." + config.buttonClass).after(config.tableTemplate());
  102.         previewTableIdentifier = "table." + config.tableCss;
  103.       }
  104.  
  105.       previewTable = $(previewTableIdentifier);
  106.       previewTable.addClass(config.tableCss);
  107.       previewTableBody = previewTable.find("tbody");
  108.  
  109.       previewRowTemplate = options.preview_row_template || config.rowTemplate;
  110.  
  111.       previewTable.after(config.loadingTemplate());
  112.  
  113.       previewTable.on("click", ".remove-file", function() {
  114.         var parentRow = $(this).parent("tr");
  115.         var filename = parentRow.find(".filename").text();
  116.         for (var i = 0; i < currentFileList.length; i++) {
  117.           if (currentFileList[i].name == filename) {
  118.             currentFileList.splice(i, 1);
  119.             break;
  120.           }
  121.         }
  122.         parentRow.remove();
  123.         $.event.trigger({ type: 'file-preview:changed', files: currentFileList });
  124.       });
  125.  
  126.       this.on('change', function(e) {
  127.         var loadingSpinner = $("#" + config.loadingCss);
  128.         loadingSpinner.show();
  129.  
  130.         var reader;
  131.         var filesCount = e.currentTarget.files.length;
  132.         $.each(e.currentTarget.files, function(index, file) {
  133.           currentFileList.push(file);
  134.  
  135.           reader = new FileReader();
  136.           reader.onload = function(fileReaderEvent) {
  137.             var filesize, filetype, imagePreviewRow, placeholderCssClass, source;
  138.             if (previewTableBody) {
  139.               filetype = file.type;
  140.               if (/image/.test(filetype)) {
  141.                 source = fileReaderEvent.target.result;
  142.                 placeholderCssClass = config.placeholderClass + " image";
  143.               } else {
  144.                 source = "";
  145.                 placeholderCssClass = getFileTypeCssClass(filetype);
  146.               }
  147.               filesize = getFileSize(file.size);
  148.               imagePreviewRow = previewRowTemplate({
  149.                 src: source,
  150.                 name: file.name,
  151.                 placeholderCssClass: placeholderCssClass,
  152.                 size: filesize
  153.               });
  154.  
  155.               previewTableBody.append(imagePreviewRow);
  156.  
  157.               if (index == filesCount - 1) {
  158.                 loadingSpinner.hide();
  159.               }
  160.             }
  161.             if (callback) {
  162.               callback(fileReaderEvent);
  163.             }
  164.           };
  165.           reader.readAsDataURL(file);
  166.         });
  167.  
  168.         $.event.trigger({ type: 'file-preview:changed', files: currentFileList });
  169.       });
  170.  
  171.       this.fileList = function() {
  172.         return currentFileList;
  173.       }
  174.  
  175.       this.clearFileList = function() {
  176.         $('.remove-file').click();
  177.       }
  178.  
  179.       this.url = function(url) {
  180.         if (url != undefined) {
  181.           config.url = url;
  182.         } else {
  183.           return config.url;
  184.         }
  185.       }
  186.  
  187.       this._onComplete = function(eventData) {
  188.         eventData['type'] = 'file-preview:submit:complete'
  189.         $.event.trigger(eventData);
  190.       }
  191.  
  192.       this.submit = function(successCallback, errorCallback) {
  193.         if (config.url == undefined) throw('Please set the URL to which I shall post the files');
  194.  
  195.         if (currentFileList.length > 0) {
  196.           var filesFormData = new FormData();
  197.           currentFileList.forEach(function(file) {
  198.             filesFormData.append(options.formDataKey + "[]", file);
  199.           });
  200.  
  201.           $.ajax({
  202.             type: "POST",
  203.             url: config.url,
  204.             data: filesFormData,
  205.             contentType: false,
  206.             processData: false,
  207.             xhr: function() {
  208.               var xhr = new window.XMLHttpRequest();
  209.               xhr.upload.addEventListener("progress", function(evt) {
  210.                 if (evt.lengthComputable &&
  211.                     options != null &&
  212.                     options.uploadProgress != null
  213.                     && typeof options.uploadProgress == "function") {
  214.                   options.uploadProgress(evt.loaded / evt.total);
  215.                 }
  216.               }, false);
  217.               return xhr;
  218.             },
  219.             success: function(data, status, jqXHR) {
  220.               if (typeof successCallback == "function") {
  221.                 successCallback(data, status, jqXHR);
  222.               }
  223.               that._onComplete({ data: data, status: status, jqXHR: jqXHR });
  224.             },
  225.             error: function(jqXHR, status, error) {
  226.               if (typeof errorCallback == "function") {
  227.                 errorCallback(jqXHR, status, error);
  228.               }
  229.               that._onComplete({ error: error, status: status, jqXHR: jqXHR });
  230.             }
  231.           });
  232.         } else {
  233.           console.log("There are no selected files, please select at least one file before submitting.");
  234.           that._onComplete({ status: 'no-files' });
  235.         }
  236.       }
  237.  
  238.       return this;
  239.  
  240.     } else {
  241.       throw "The File APIs are not fully supported in this browser.";
  242.     }
  243.   };
  244. })(jQuery);
  245.  
  246.  

Вот форма ввода
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.     if(isset($_POST["SEND"])){
  4.           print_r($_FILES["LOAD"]);
  5.         }
  6. ?>
  7. <!DOCTYPE html>
  8. <html lang="en">
  9.   <head>
  10.     <title>File Upload Previewer</title>
  11.     <meta charset="utf-8" />
  12.     <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  13.     <link href="vendor/bootstrap.min.css" rel="stylesheet" />
  14.     <link href="vendor/loaders.min.css" rel="stylesheet" />
  15.     <link href="css/jquery.uploadPreviewer.css" rel="stylesheet" />
  16.   </head>
  17.  
  18.   <body>
  19.     <div class="container">
  20.       <div class="row">
  21.         <h1>File Upload Previewer Demo</h1>
  22.         <p>Click 'Add Files' and choose your files. You will then be able to preview your files!</p>
  23.       </div>
  24.       <div class="row">
  25.         <div id="file-uploader">
  26.           <form method="post" enctype="multipart/form-data" />
  27.             <input type="file" accept="image/*" name="images[]" multiple="multiple" />
  28.             <input type="submit" name="SEND" value="Загрузить" />
  29.           </form>
  30.         </div>
  31.       </div>
  32.     </div>
  33.   </body>
  34. </html>
  35.  
  36. <script src="vendor/jquery.min.js"></script>
  37. <script src="jquery.uploadPreviewer.js"></script>
  38.  
  39. <script type="text/javascript">
  40.   $(document).ready(function() {
  41.     myUploadInput = $("input[type=file]").uploadPreviewer();
  42.  
  43.   });
  44. </script>
  45.  
  46.  
  47.  

и вот php
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4. //ширина и высота в пикселях
  5. $pic_weight = 300000;
  6. $pic_height = 300000;
  7. if (isset($_FILES))
  8. {
  9.   # Массив для имён изображений
  10.  $names = array();
  11.   //пролистываем весь массив изображений по одному $_FILES
  12.   foreach ($_FILES['images']['name'] as $k=>$v)
  13.   {
  14.     //директория загрузки
  15.     $uploaddir = "img_elan/";
  16.     //новое имя изображения
  17.     $apend=rand(10,100).rand(100,1000).'.png';
  18.     //путь к новому изображению
  19.     $names[] = $apend;
  20.     $uploadfile = $uploaddir . $apend;
  21.     //Проверка расширений загружаемых изображений
  22.     if($_FILES['images']['type'][$k] == "image/gif" || $_FILES['images']['type'][$k] == "image/png" ||
  23.     $_FILES['images']['type'][$k] == "image/jpg" || $_FILES['images']['type'][$k] == "image/jpeg")
  24.     {
  25.       //черный список типов файлов
  26.       $blacklist = array(".php", ".phtml", ".php3", ".php4");
  27.       foreach ($blacklist as $item)
  28.       {
  29.         if(preg_match("/$item\$/i", $_FILES['images']['name'][$k]))
  30.         {
  31.           echo "Нельзя загружать скрипты.";
  32.           exit;
  33.         }
  34.       }
  35.  
  36.       //перемещаем файл из временного хранилища
  37.       if (move_uploaded_file($_FILES['images']['tmp_name'][$k], $uploadfile))
  38.       {
  39.         //получаем размеры файла
  40.         $size = getimagesize($uploadfile);
  41.         //проверяем размеры файла, если они нам подходят, то оставляем файл
  42.         if ($size[0] < $pic_weight && $size[1] < $pic_height){
  43.             echo "";
  44. }
  45.         else
  46.         {
  47.           echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
  48.           unlink($uploadfile);
  49.         }
  50.       }
  51.       else
  52.         echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
  53.     }
  54.     else
  55.       echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  56.   }
  57.  
  58.       $img_str = implode(',', $names);
  59.       echo $img_str;
  60.  
  61.                 connectDB();
  62.                 $mysqli->query("INSERT INTO `elan`   (`img`) VALUES ('" . $img_str . "')");
  63.                 closeDB();
  64.          
  65.  
  66.     }
  67.  
  68.  
shahin Отправлено: 08 Февраля, 2017 - 21:04:28 • Тема: Добавление в БД записи файлов записные в $_FILES • Форум: Программирование на PHP

Ответов: 7
Просмотров: 1257
Все равно не работает, выдаёт ошибку:
Цитата:


Warning: implode(): Invalid arguments passed in /storage/emulated/0/SERVER/htdoc s/elan/form_ad.php on line 44




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4. //ширина и высота в пикселях
  5. $pic_weight = 30000;
  6. $pic_height = 30000;
  7.  
  8. if (isset($_FILES))
  9. {
  10.   //пролистываем весь массив изображений по одному $_FILES['images']['name'] as $k=>$v
  11.   foreach ($_FILES['images']['name'] as $k=>$v)
  12.   {
  13.     //директория загрузки
  14.     $uploaddir = "img_elan/";
  15.     //новое имя изображения
  16.  
  17.     $apend=rand(1,100).rand(100,1000).'.png';
  18.     //путь к новому изображению
  19.     $uploadfile = "$uploaddir$apend";
  20.  
  21.     //Проверка расширений загружаемых изображений
  22.     if($_FILES['images']['type'][$k] == "image/gif" || $_FILES['images']['type'][$k] == "image/png" ||
  23.     $_FILES['images']['type'][$k] == "image/jpg" || $_FILES['images']['type'][$k] == "image/jpeg")
  24.     {
  25.       //черный список типов файлов
  26.       $blacklist = array(".php", ".phtml", ".php3", ".php4");
  27.       foreach ($blacklist as $item)
  28.       {
  29.         if(preg_match("/$item\$/i", $_FILES['images']['name'][$k]))
  30.         {
  31.           echo "Нельзя загружать скрипты.";
  32.           exit;
  33.         }
  34.       }
  35.  
  36.       //перемещаем файл из временного хранилища
  37.       if (move_uploaded_file($_FILES['images']['tmp_name'][$k], $uploadfile))
  38.       {
  39.         //получаем размеры файла
  40.         $size = getimagesize($uploadfile);
  41.         //проверяем размеры файла, если они нам подходят, то оставляем файл
  42.         if ($size[0] < $pic_weight && $size[1] < $pic_height)
  43.         {
  44.                
  45.     $img_f = $apend;
  46.                echo $img_str = implode(',', $img_f);
  47.       echo $img_str;
  48.                /* connectDB();
  49.                 $mysqli->query("INSERT INTO `elan`   (`img1`,`img2`,`img3`,`img4`,`img5`,`img6`) VALUES ('" . $img_st . "')");
  50.                 closeDB();*/
  51.          
  52.  
  53.           //echo "<center><br>Файл ($uploadfile) загружен.</center>";
  54.         }
  55.         //если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
  56.         else
  57.         {
  58.           echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
  59.           unlink($uploadfile);
  60.         }
  61.       }
  62.       else
  63.         echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
  64.     }
  65.     else
  66.       echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  67.   }
  68. }
  69. ?>
  70.  
  71.  
  72.  

(Добавление)
Попробовал сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  $array[] = $apend;
  4.                echo $img_str = implode(',', $array);
  5.       echo $img_str;
  6.  


Но получилась каша:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. 76959.png76959.png76959.png,85583.png76959.png,85583.png76959.png,85583.png,30639.png76959.png,85583.png,30639.png76959.png,85583.png,30639.png,21858.png76959.png,85583.png,30639.png,21858.png76959.png,85583.png,30639.png,21858.png,95953.png76959.png,85583.png,30639.png,21858.png,95953.png76959.png,85583.png,30639.png,21858.png,95953.png,18418.png76959.png,85583.png,30639.png,21858.png,95953.png,18418.png
  3.  
  4.  
  5.  
shahin Отправлено: 06 Февраля, 2017 - 21:54:33 • Тема: Добавление в БД записи файлов записные в $_FILES • Форум: Программирование на PHP

Ответов: 7
Просмотров: 1257
teleoperator27 пишет:
потому что ты пытаешься вставить в несколько полей одну строку. у тебя же в $img_str хранится сейчас одна строка img1,img2img3,img4,img5. И ты пытаешься сделать запрос

CODE (htmlphp):
скопировать код в буфер обмена
  1. INSERT INTO `elan`   (`img1`,`img2`,`img3`,`img4`,`img5`,`img6`) VALUES ( 'img1, img2, img3, img4, img5' )


а надо или разбить строку и заносить каждую картинку в свое поле

CODE (htmlphp):
скопировать код в буфер обмена
  1. INSERT INTO `elan`   (`img1`,`img2`,`img3`,`img4`,`img5`,`img6`) VALUES ( 'img1', 'img2', 'img3', 'img4', 'img5' )


или всю строку сразу в одно поле

CODE (htmlphp):
скопировать код в буфер обмена
  1. INSERT INTO `elan`   (`img`) VALUES ( 'img1, img2, img3, img4, img5' )


с кавычками надо внимательне
а как сделать чтобы они были через запятую?
shahin Отправлено: 06 Февраля, 2017 - 20:21:41 • Тема: Добавление в БД записи файлов записные в $_FILES • Форум: Программирование на PHP

Ответов: 7
Просмотров: 1257
teleoperator27 пишет:
ну теперь бы еще структуру БД увидеть и узнать, как они должны записываться в нее. В одно поле? каждая в свое? Вопрос нормально сформулировать надо, полответа уже будет


Каждое в свое поле. Например: 1картинка в $img1 и т.д.
конечно думаю лучше было-бы чтобы через запятую в оно поле.
shahin Отправлено: 06 Февраля, 2017 - 18:43:31 • Тема: Добавление в БД записи файлов записные в $_FILES • Форум: Программирование на PHP

Ответов: 7
Просмотров: 1257
Здравствуйте, есть поля в бд img1,img2,img3,img4,img5,img6. Есть скрипт загрузки несколько файлов. максимальная загрузка 5 файлов, записываются они в $_FILES. Мне нужно чтобы они записывались в пол по очереди. Пробовал так но это не работает:
PHP:
скопировать код в буфер обмена
  1.    
  2.   if (!empty($files_s)) {
  3.                 $img_str = implode(',', $files);
  4.                 connectDB();
  5.                 $mysqli->query("INSERT INTO `elan`   (`img1`,`img2`,`img3`,`img4`,`img5`,`img6`) VALUES ('" . $img_str . "')");
  6.                 closeDB();
  7.                     }
  8.  
shahin Отправлено: 01 Февраля, 2017 - 23:18:16 • Тема: Массовая загрузка изображений • Форум: Вопросы новичков

Ответов: 2
Просмотров: 255
Здравствуйте, уже много времени никак не могу реализовать массовую загрузку для сайта. Нашёл ajax скрипт есть возможность выбрать несколько файлов с предпросмотром. но почему-то в $_FILES записывается только один файл.
PHP:
скопировать код в буфер обмена
  1. //делаю проверку
  2. <?PHP
  3.      if(isset($_POST["SEND"])){
  4.           print_r($_FILES["LOAD"]);
  5.         }
  6. ?>
  7.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2.  <form method="post" enctype="multipart/form-data" />
  3.             <input type="file" name="LOAD[]" multiple="true" />
  4.             <input type="submit" name="SEND" value="Загрузить" />
  5.           </form>
  6.  
shahin Отправлено: 05 Ноября, 2016 - 07:11:42 • Тема: Fatal error: Cannot redeclare connectDB() (previously declared in • Форум: Вопросы новичков

Ответов: 3
Просмотров: 527
здравствуйте не могу понять из-за чего выходит данная ошибка, функции ни где не повторяются
Цитата:

Fatal error: Cannot redeclare connectDB() (previously declared in /storage/emulated/0/htdocs/lib/core.php:15) in /storage/emulated/0/htdocs/lib/c ore.php on line 18

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     define('ROOT', $_SERVER['DOCUMENT_ROOT']);
  3.     define('TMP', $_SERVER['DOCUMENT_ROOT'].'/templates/');
  4.  
  5.   @ini_set('magic_quotes_gpc', 1);
  6.   @ini_set('magic_quotes_runtime', 1);
  7.   @ini_set('magic_quotes_sybase', 1);
  8.   @ini_set('register_globals', 1);
  9.   ini_set('display_errors', 1);
  10.  
  11.   error_reporting(1);  
  12.   error_reporting(E_ALL | E_STRICT);
  13.  
  14.     function connectDB(){
  15.         global $mysqli;
  16.         $mysqli = new mysqli ("localhost","root","","base");
  17.         $mysqli->query("SET name 'utf-8'");
  18.     }
  19.         function closeDB(){
  20.       global $mysqli;
  21.         $mysqli->close();
  22.     }
  23.  
  24. /*############ Pages #############*/
  25.     function GetPages($pages){
  26.         global $mysqli;
  27.         connectDB();
  28.         $sel = "SELECT `keywords`,`description`,`title`, `img`, `img_alt`, `product_title`, `product_description`, `price` FROM `pages_ru` WHERE `id` = '".$pages."' LIMIT 1";
  29.         $query = $mysqli->query($sel);
  30.         if(!$query){echo('Не удалось взять данные из БД!');}
  31.         else{
  32.             if(mysqli_num_rows($query)>0){
  33.              $res = mysqli_fetch_array($query);
  34.                           $keywords = $res['keywords'];
  35.             $description = $res['description'];
  36.             $title = $res['title'];
  37.                           $img = $res['img'];
  38.                           $img_alt = $res['img_alt'];
  39.                           $product_title = $res['product_title'];
  40.                           $product_description = $res['product_description'];
  41.             $price = $res['price'];
  42.              
  43.             }
  44.             else{
  45.              header('Location: /');
  46.             }
  47.             $data_arr = array($keywords, $description,  $title, $img, $img_alt, $title, $product_title, $product_description, $price);
  48.             return $data_arr;
  49.         }
  50.     }
  51. ?>
  52.  

Страниц (8): « 1 2 [3] 4 5 6 7 8 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB