Во-первых, у меня была только одна фотография для отправки, так что не было ничего сложного для выполнения, но теперь могло быть одно, два или три изображения.Я сделал мой код слишком сложным.
Основная проблема:
<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);
}
}
}
}