Задать вопрос
@teplyashin

Загрузка фото на сайт и как записать путь в mysql?

Есть форма:
Первый фрагмент кода
<div class="form-group">
            <label for="exampleInputEmail1">ФОТО</label>
           
            <input multiple name="up_photo[]" type="file" value="<?= isset($_GET['id']) ? $good->getField('up_photo') : ''?> " class="form-control" id="up_photo" >
        </div>
        <div class="form-group">
            <label for="exampleInputEmail1">Артикул</label>
            <input name="articul" type="text" value="<?= isset($_GET['id']) ? $good->getField('articul') : ''?> " class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
        </div>

Позиций много, сделал поле для загрузки файлов (файлы загружаются), путь я выяснил ниже есть код (фоток может быть много, поэтому сделал массив и положил в json), т.е. у меня теперь есть 2 новых значения для fields это up_photo, for values $jsonStr. Их надо добавить к массиву. Не понимаю что и куда написать чтоб дописать в массив.
Второй фрагмент кода
$fields = [];
$values = [];
 
//первая переменная содержит ключ вторая значение
foreach ($_POST as $field=>$value) {
    if ($field != "class_name") {
        $fields[] = $field;
        $values[] = " ' ".$value." ' ";
     
 
    }
   
}
 
 
//создаем коробки под ключи и значения
 
require_once($_SERVER['DOCUMENT_ROOT'].'/internetss/system/classes/autoload.php');
 
$target_dir = 'images/categories/';
 
if( isset($_FILES['up_photo']['name'])) {
 
    $total_files = count($_FILES['up_photo']['name']);
 
    for($key = 0; $key < $total_files; $key++) {
 
      // Check if file is selected
      if(isset($_FILES['up_photo']['name'][$key])
                        && $_FILES['up_photo']['size'][$key] > 0) {
 
        $original_filename = $_FILES['up_photo']['name'][$key];
        $target = $target_dir . basename($original_filename);
        $tmp  = $_FILES['up_photo']['tmp_name'][$key];
        move_uploaded_file($tmp, $target);
        }
       }
      }
 
 
      $photos = array ();
      $i = 0;
       foreach ($_FILES['up_photo']['name'] as $onePhoto){
        $photos[$i] = "$target_dir$onePhoto";
        $i++;
       
      };
   
 
      $jsonStr = json_encode($photos);
     
var_dump($_POST);
 
 
     
      var_dump($photos);
 
     
 
 
$className = $_POST['class_name'];
$className::createLine($fields,$values);
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы