Php-скрипт выполняется в случае добавления определенно 3-х изображений, мне нужно заставить его вставлять данные в БД, даже если есть только один файл - PullRequest
0 голосов
/ 03 июня 2018

Во-первых, у меня была только одна фотография для отправки, так что не было ничего сложного для выполнения, но теперь могло быть одно, два или три изображения.Я сделал мой код слишком сложным.

Основная проблема:

<div id="upload-area">
     <label for="file-upload" class="custom-file-upload">
          <i class="fa fa-cloud-upload"></i> Add Photo or Video
     </label>
    <input name="files[]" id="file-upload" accept="image/*" type="file" multiple/>

У меня есть форма для отправки на веб-сайте, есть область загрузки для выбора нескольких файлов, поэтому у меня естьмассив из них.

Первой моей идеей было запустить цикл for для всех индексов, но я потерпел неудачу, потому что понял, что это могло бы сработать, только если мне нужно отправить изображения в БД по одному(как последовательность записей) ни как единое целое в таблице.

Вот почему я добавил дублированные части кода, но с другим URL, именем изображения, путем и номером и т. д.

Но я понял, что он работает правильно только для 3 выбранных изображений.

Я подошел, чтобы сделать что-то вроде этого:

if ($_FILES["files"]["name"][1] === null | $_FILES["files"]["name"][1].length === 0) {
$image1 = “ “;
$url1 = “ “;
else {
  $upload_path1 = "uploads/1" . $_FILES["files"]["name"][1];
  $url1 = "https://bettercity.online/$upload_path1";
  $image1 = $_FILES["files"]["name"][1];
  $uploadedfile1 = $_FILES['files']['tmp_name'][1];
  $image_type1 = $_FILES["files"]["type"][1];
}

Но есть проблема с вставкой тех пустых значений переменных, которые яневозможно решить.

Текущий (ужасный) код:

$upload_path0 = "uploads/0" . $_FILES["files"]["name"][0];
$url0 = "https://bettercity.online/$upload_path0";
$image0 = $_FILES["files"]["name"][0];
$uploadedfile0 = $_FILES['files']['tmp_name'][0];
$image_type = $_FILES["files"]["type"][0]; 
$upload_path1 = "uploads/1" . $_FILES["files"]["name"][1];
$url1 = "https://bettercity.online/$upload_path1";
$image1 = $_FILES["files"]["name"][1];
$uploadedfile1 = $_FILES['files']['tmp_name'][1];
$image_type1 = $_FILES["files"]["type"][1];
$upload_path2 = "uploads/2" . $_FILES["files"]["name"][2];
$url2 = "https://bettercity.online/$upload_path2";
$image2 = $_FILES["files"]["name"][2];
$uploadedfile2 = $_FILES['files']['tmp_name'][2];
$image_type2 = $_FILES["files"]["type"][2];
$ftp_server = " ";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 
$user = " "; 
$pass = " "; 
    if (ftp_login($conn_id, $user, $pass)) 
    { 
        if ($_FILES["files"]["error"][0] > 0)
        {
        echo "Return Code: " . $_FILES["files"]["error"][0] . "<br />";
        }
        else
        {  
                 if($image_type=='image/png' || $image_type=='image/x-png')
                    {
                      if($image_type1=='image/png' || $image_type1=='image/x-png')
                       {
                         if($image_type2=='image/png' || $image_type2=='image/x-png')
                          {
                            $src0 = imagecreatefrompng($uploadedfile0);
                            $src1 = imagecreatefrompng($uploadedfile1);
                            $src2 = imagecreatefrompng($uploadedfile2);
                          }
                          elseif($image_type2=='image/jpeg' || $image_type2=='image/jpg' || $image_type2 == 'image/pjpeg')
                          {
                            $src0 = imagecreatefrompng($uploadedfile0);
                            $src1 = imagecreatefrompng($uploadedfile1);
                            $src2 = imagecreatefromjpeg($uploadedfile2);
                          }
                       }
                      elseif($image_type1=='image/jpeg' || $image_type1=='image/jpg' || $image_type1 == 'image/pjpeg')
                       {
                         if($image_type2=='image/png' || $image_type2=='image/x-png')
                          {
                            $src0 = imagecreatefrompng($uploadedfile0);
                            $src1 = imagecreatefromjpeg($uploadedfile1);
                            $src2 = imagecreatefrompng($uploadedfile2);
                          }
                          elseif($image_type2=='image/jpeg' || $image_type2=='image/jpg' || $image_type2 == 'image/pjpeg')
                          {
                            $src0 = imagecreatefrompng($uploadedfile0);
                            $src1 = imagecreatefromjpeg($uploadedfile1);
                            $src2 = imagecreatefromjpeg($uploadedfile2);
                          }
                       }
                    }
                 elseif($image_type=='image/jpeg' || $image_type=='image/jpg' || $image_type == 'image/pjpeg')
                    {
                      if($image_type1=='image/png' || $image_type1=='image/x-png')
                       {
                         if($image_type2=='image/png' || $image_type2=='image/x-png')
                          {
                            $src0 = imagecreatefromjpeg($uploadedfile0);
                            $src1 = imagecreatefrompng($uploadedfile1);
                            $src2 = imagecreatefrompng($uploadedfile2);
                          }
                          elseif($image_type2=='image/jpeg' || $image_type2=='image/jpg' || $image_type2 == 'image/pjpeg')
                          {
                            $src0 = imagecreatefromjpeg($uploadedfile0);
                            $src1 = imagecreatefrompng($uploadedfile1);
                            $src2 = imagecreatefromjpeg($uploadedfile2);
                          }
                       }
                      elseif($image_type1=='image/jpeg' || $image_type1=='image/jpg' || $image_type1 == 'image/pjpeg')
                       {
                         if($image_type2=='image/png' || $image_type2=='image/x-png')
                          {
                            $src0 = imagecreatefromjpeg($uploadedfile0);
                            $src1 = imagecreatefromjpeg($uploadedfile1);
                            $src2 = imagecreatefrompng($uploadedfile2);
                          }
                          elseif($image_type2=='image/jpeg' || $image_type2=='image/jpg' || $image_type2 == 'image/pjpeg')
                          {
                            $src0 = imagecreatefromjpeg($uploadedfile0);
                            $src1 = imagecreatefromjpeg($uploadedfile1);
                            $src2 = imagecreatefromjpeg($uploadedfile2);
                          }
                       }
                    }

                 $new_width=768;
                 $new_height=500;
                 $image_p=imagecreatetruecolor($new_width,$new_height);
                 imagealphablending($image_p, false);
                 imagesavealpha($image_p, true);
                 list($width,$height)=getimagesize($uploadedfile0);

                 $image_p1=imagecreatetruecolor($new_width,$new_height);
                 imagealphablending($image_p1, false);
                 imagesavealpha($image_p1, true);
                 list($width1,$height1)=getimagesize($uploadedfile1);
                 $image_p2=imagecreatetruecolor($new_width,$new_height);
                 imagealphablending($image_p2, false);
                 imagesavealpha($image_p2, true);
                 list($width2,$height2)=getimagesize($uploadedfile2);
                 imagecopyresampled($image_p,$src0,0,0,0,0,$new_width,$new_height,$width,$height);
                 imagecopyresampled($image_p1,$src1,0,0,0,0,$new_width,$new_height,$width1,$height1);
                 imagecopyresampled($image_p2,$src2,0,0,0,0,$new_width,$new_height,$width2,$height2);
                 if(move_uploaded_file($_FILES["files"]["tmp_name"][0], $upload_path0) && move_uploaded_file($_FILES["files"]["tmp_name"][1], $upload_path1) && move_uploaded_file($_FILES["files"]["tmp_name"][2], $upload_path2))
                 {
                    if ($resp['status'] == 'OK') {
                   $latitude = $resp['results'][0]['geometry']['location']['lat'];
                   $longitude = $resp['results'][0]['geometry']['location']['lng'];

                    $sql = "INSERT INTO problem_data(username, name, description, mediafile, mediafile1, mediafile2, district_id, category_id, location, latitude, longitude, rating, counter, general_rating, status_id, upl_date) values('$username','$name','$description','$url0','$url1','$url2','$district_id','$category_id','$location','$latitude','$longitude', 0.0, 0, 0.0, 1, '$date')";

                    if(mysqli_query($con, $sql))
                        {
                        if($image_type=='image/png' || $image_type=='image/x-png'){
                          if($image_type1=='image/png' || $image_type1=='image/x-png'){
                            if($image_type2=='image/png' || $image_type2=='image/x-png'){
                             imagepng($image_p,$upload_path0,9) ; 
                             imagepng($image_p1,$upload_path1,9) ; 
                             imagepng($image_p2,$upload_path2,9) ; 
                            }
                             else {
                             imagepng($image_p,$upload_path0,9) ; 
                             imagepng($image_p1,$upload_path1,9) ; 
                             imagejpeg($image_p2,$upload_path2,100); 
                            }
                          }
                          else {
                             if($image_type2=='image/png' || $image_type2=='image/x-png'){
                             imagepng($image_p,$upload_path0,9) ; 
                             imagejpeg($image_p1,$upload_path1,100);
                             imagepng($image_p2,$upload_path2,9) ; 
                             }
                             else {
                             imagepng($image_p,$upload_path0,9) ; 
                             imagejpeg($image_p1,$upload_path1,100);
                             imagejpeg($image_p2,$upload_path2,100); 
                             }
                          }
                        }
                        else {
                          if($image_type1=='image/png' || $image_type1=='image/x-png'){
                            if($image_type2=='image/png' || $image_type2=='image/x-png'){
                             imagejpeg($image_p0,$upload_path0,100);
                             imagepng($image_p1,$upload_path1,9) ; 
                             imagepng($image_p2,$upload_path2,9) ; 
                            }
                             else {
                             imagejpeg($image_p0,$upload_path0,100);
                             imagepng($image_p1,$upload_path1,9) ; 
                             imagejpeg($image_p2,$upload_path2,100); 
                            }
                          }
                          else {
                             if($image_type2=='image/png' || $image_type2=='image/x-png'){
                             imagejpeg($image_p0,$upload_path0,100);
                             imagejpeg($image_p1,$upload_path1,100);
                             imagepng($image_p2,$upload_path2,9) ; 
                             }
                             else {
                             imagejpeg($image_p0,$upload_path0,100);
                             imagejpeg($image_p1,$upload_path1,100);
                             imagejpeg($image_p2,$upload_path2,100); 
                             }
                          }
                          }
                        }

                  echo 'Problem uploaded';
                  imagedestroy($image_p);
                  imagedestroy($image_p1);
                  imagedestroy($image_p2);
                    }
                 }
        }
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...