Как загрузить массив изображений на сервер Godaddy? - PullRequest
0 голосов
/ 28 марта 2019

Я пишу код, потому что мне нужно было загрузить несколько изображений на мой сайт, чтобы показать некоторые детали.Я настраиваю свой веб-сайт на Godaddy Server, и возникает некоторая ошибка, но эта загрузка нескольких изображений не работает.Это работало на localhost.Это ошибки, которые я получил:

[28-Mar-2019 03:18:43 UTC] PHP Предупреждение: move_uploaded_file (): второй аргумент функции copy () не может быть каталогом в /home / v1pyvnw05stp / public_html / **. php в строке 123 [28-Mar-2019 03:18:43 UTC] Предупреждение PHP: move_uploaded_file (): невозможно перемещаться;

Когда я смотрюк папкам, которые я заметил, есть по крайней мере два изображения в месте, которые они не должны, но как тестовые / x-общие файлы

  $photocount = count($_FILES['photo']['name']);
  if ($photocount > 0) {
for($i = 0; $i<$photocount;$i++){
  $name = $_FILES['photo']['name'][$i];
  $nameArray = explode('.',$name);
  $filename=$nameArray[0];
  $fileExt = $nameArray[1];
  $mime = explode('/',$_FILES['photo']['type'][$i]);
  $mimeType = $mime[0];
  $mimeExt = $mime[1];
  $tmpLoc[] = $_FILES['photo']['tmp_name'][$i];
  $fileSize = $_FILES['photo']['size'][$i];
  $uploadName = md5(microtime().$i).'.'.$fileExt;
  $uploadPath = '/home/v1pyvnw05stp/public_html/images/Articulos/'.$uploadName;
  if($i != 0){
    $dbpath .= ',';
  }
  $dbpath = '/images/Articulos/'.$uploadName;


  if($photocount > 0){
      for($i = 0;$i<$photocount;$i++){
    move_uploaded_file($tmpLoc[$i],$uploadPath[$i]); THIS IS THE ERROR LINE AND IF I ERASE $I OF $UPLOADPAH THE SISTEM WORK BUT JUST WITH ONE IMAGE.
  }
}

Я УЖЕ ИЗМЕНЯЮ РАЗРЕШЕНИЯ

Ответы [ 3 ]

0 голосов
/ 28 марта 2019

Не используйте абсолютный путь к каталогу вашего сервера.

Заменить $ uploadPath = '/home/v1pyvnw05stp/public_html/images/Articulos/'.$uploadName; с $ _SERVER ['DOCUMENT_ROOT']. 'images / Articulos /'.$ uploadName;

Заменить move_uploaded_file($tmpLoc[$i],$uploadPath[$i]); с

move_uploaded_file ($ tmpLoc [$ я], $ uploadPath);

0 голосов
/ 28 марта 2019

Я понимаю, почему я получаю эту ошибку, и потому что я должен добавить [] в $ uploadpath.Теперь я не получаю ошибок, но я не могу добавить более одной переменной $ dbpath в базу данных.Некоторые идеи почему?

$uploadPath**[]** = '/home/v1pyvnw05stp/public_html/images/Articulos/'.$uploadName;
  if($photocount > 0){
  for($i = 0;$i<$photocount;$i++){
move_uploaded_file($tmpLoc[$i],$uploadPath[$i]);

}

0 голосов
/ 28 марта 2019

Вы получаете ошибки, вы передаете неверный аргумент в методе move_uploaded_file().2-й аргумент $uploadPath[$i] - это не массив, а строка, определенная в вашем коде.Сделайте следующие изменения,

$photocount = count($_FILES['photo']['name']);
  if ($photocount > 0) {
for($i = 0; $i<$photocount;$i++){
  $name = $_FILES['photo']['name'][$i];
  $nameArray = explode('.',$name);
  $filename=$nameArray[0];
  $fileExt = $nameArray[1];
  $mime = explode('/',$_FILES['photo']['type'][$i]);
  $mimeType = $mime[0];
  $mimeExt = $mime[1];
  $tmpLoc[] = $_FILES['photo']['tmp_name'][$i];
  $fileSize = $_FILES['photo']['size'][$i];
  $uploadName = md5(microtime().$i).'.'.$fileExt;
  $uploadPath = '/home/v1pyvnw05stp/public_html/images/Articulos/'.$uploadName;
  if($i != 0){
    $dbpath .= ',';
  }
  $dbpath = '/images/Articulos/'.$uploadName;


  if($photocount > 0){
      for($i = 0;$i<$photocount;$i++){
    move_uploaded_file($tmpLoc[$i],$uploadPath);
  }
}
...