Загрузка нескольких изображений для одного товара

  • Автор темы Emmalet
  • 41
  • Обновлено
  • 15, May 2024
  • #1
Привет народ, Я скачал скрипт для листинга недвижимости. Появляется только последняя загруженная фотография. Может ли кто-нибудь посмотреть код и увидеть, есть ли что-то не так. Спасибо вам всем.
 <?php

$mess_err = '';

if($_SERVER['REQUEST_METHOD']=="POST")

{

if(empty($_POST['txtName'])){

$mess_err .="+ ".$messhousename."<br />";

}

else if(strlen($_POST['txtName'])<6){

$mess_err .= "+ ".$messlenHN."<br />";

}

else $mess_err .= '';

if(intval($_POST['selectTinhTP'])==0){

$mess_err .= "+ ".$messcity."<br/>";

}

else if(intval($_POST['selectDistrict'])==0){

$mess_err .= "+ ".$messdistrict."<br/>";

}

if(empty($_POST['txtAddress'])){

$mess_err .= "+ ".$messaddress."<br/>";

}

else if(strlen($_POST['txtAddress'])<6){

$mess_err .= "+".$messlenaddress."<br/>";

}

if(($_POST['txtLivingsize']=="")){

$mess_err .= "+ ".$messlivingsize."<br/>";

}

if(empty($_POST['captcha'])){

$mess_err .= "+ ".$messcaptcha."<br>";

}

else if($_POST['captcha'] != $_SESSION["security_code"]){

$mess_err .= "+ ".$messincorrectcaptcha;

}

$ten_hinh=$_FILES["imageFile"]['name'];

$imgtype=$_FILES['imageFile']['type'];

$imgsize=$_FILES['imageFile']['size'];

if($ten_hinh!=""){

if ( (($imgtype == "image/gif")|| ($imgtype == "image/jpeg")|| ($imgtype == "image/jpg")|| ($imgtype == "image/pjpeg")|| ($imgtype == "image/png")))

{

if ($_FILES["imageFile"]["error"] > 0)

$mess_err .= "+ ".$imageinvalid."<br>";

else

{

if($imgsize>1400000) $mess_err .="+ ".$sizeimage."<br />";

}

}

else $mess_err .= "+ ".$imageinvalid."<br />";

}

}

if(!isset($mess_err))$mess_err=" ";

if(!isset($mess_success)) $mess_success=" ";

if(empty($mess_err)&& isset($_POST['sbAddHouse']))

{

Connect_Database();

include('SimpleImage.php');

if(!isset($_POST['chkIncludeTax']))$_POST['chkIncludeTax'] =0;

if(!isset($_POST['chkCooling']))$_POST['chkCooling'] =0;

if(!isset($_POST['chkLaundry']))$_POST['chkLaundry'] =0;

if(!isset($_POST['chkSwimming']))$_POST['chkSwimming'] =0;

if(!isset($_POST['chkGarden']))$_POST['chkGarden'] =0;

if(!isset($_POST['chkYard']))$_POST['chkYard'] =0;

if(!isset($_POST['chkHeating']))$_POST['chkHeating'] =0;

$noi_dung1=strip_tags($_POST['txtAmenity']);

$noi_dung1=str_replace("<","&lt;",$noi_dung1);

$noi_dung1=str_replace(">","&gt;",$noi_dung1);

$noi_dung1=str_replace("'","&apos;",$noi_dung1);

$noi_dung1=str_replace('"',"&quot;",$noi_dung1);

$noi_dung1=str_replace('<pre>',"",$noi_dung1);

$noi_dung1=str_replace('</pre>',"",$noi_dung1);

$noi_dung1=nl2br($noi_dung1);

$Amenity=$noi_dung1;

$noi_dung=strip_tags($_POST['txtDescription']);

$noi_dung=str_replace("<","&lt;",$noi_dung);

$noi_dung=str_replace(">","&gt;",$noi_dung);

$noi_dung=str_replace("'","&apos;",$noi_dung);

$noi_dung=str_replace('"',"&quot;",$noi_dung);

$noi_dung=str_replace('<pre>',"",$noi_dung);

$noi_dung=str_replace('</pre>',"",$noi_dung);

$noi_dung=nl2br($noi_dung);

$Description=$noi_dung;

$now1=date("Y-m-d",time()+(14*60*60));



$query = "insert into houses(city_id, district_id, category_id, user_id, need_id, legal_id, direction_id, name, address, yearbuilt, description, created, lotsize, livingsize, price, includetax, mls, amentities, stories, floorcoverings, rooftype, bathroom, diningroom, bedroom, kitchen, livingroom, miscrooms, heating, cooling, water, sewer, laundry, parking, swimmingpool, garden, yardgrounds, handicapfeatures, status, views, contactname, contactemail, contactphone, contactmobile,latitude,longitude,fulladdress,unit) values(".intval($_POST['selectTinhTP']).", ".intval($_POST['selectDistrict']).",".intval($_POST['selectCate']).",".intval(0).", ".$_POST['selectNeed'].", ".$_POST['selectLegal'].", ".$_POST['selectDirection'].", '".mysql_real_escape_string($_POST['txtName'])."', '".mysql_real_escape_string($_POST['txtAddress'])."', '".mysql_real_escape_string($_POST['txtYearBuilt'])."', '".$Description."','".$now1."', ".intval($_POST['txtLotsize']).", ".$_POST['txtLivingsize'].", ".floatval($_POST['txtnewprice']).", ".$_POST['chkIncludeTax'].", '".mysql_real_escape_string($_POST['txtMLS'])."', '".$Amenity."', ".intval($_POST['txtNumBlock']).", '".mysql_real_escape_string($_POST['txtFloorCovering'])."', '".mysql_real_escape_string($_POST['txtRoofType'])."', ".intval($_POST['txtBathRoom']).", ".intval($_POST['txtDiningRoom']).", ".intval($_POST['txtBedRoom']).", ".intval($_POST['txtKitchen']).", ".intval($_POST['txtLivingRoom']).", '".intval($_POST['txtMiscRoom'])."','".intval($_POST['chkHeating'])."', ".intval($_POST['chkCooling']).", 0, 0, ".intval($_POST['chkLaundry']).", '".intval($_POST['txtParking'])."', ".intval($_POST['chkSwimming']).", ".intval($_POST['chkGarden']).", ".intval($_POST['chkYard']).", '', 0, 0, '".mysql_real_escape_string($_POST['fullname'])."', '".mysql_real_escape_string($_POST['txtemail'])."', '".mysql_real_escape_string($_POST['txtphone'])."', '".mysql_real_escape_string($_POST['txtmobile'])."','".mysql_real_escape_string($_POST['lat'])."','".mysql_real_escape_string($_POST['lng'])."','".mysql_real_escape_string($_POST['newaddress'])."','".$_POST['selectTime']."')";

if(QuerySQL($query)) {$mess_err="+ ".$postnewssuc;}

else {echo "Error insert";$mess_success="";}

if($ten_hinh!=""){

$newimgtype=substr($imgtype,6);

$length = 8;

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$rndstr = '';

for ($p = 0; $p < $length; $p++) {

$rndstr .= $characters[mt_rand(0, strlen($characters))];

}

$newImagename=md5(date('m/d/Y h:i:s').$rndstr).".".$newimgtype;

$newimage = new SimpleImage();

$newimage->load($_FILES['imageFile']['tmp_name']);

$newimage->resize(660,400);

$newimage->save("uploads/" .$newImagename);

$sql ="INSERT INTO `imgs` (`house_id` ,`name`,`mainimg`,status) VALUES (".mysql_insert_id().",'$newImagename',1,0)";

$rs = QuerySQL($sql);

}

Close_Connect();

}

?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="formAddHouse"onsubmit="return checkFormAddHouse();" enctype="multipart/form-data">

<input type="file" name="imageFile" id="imageFile" />

<input type="file" name="imageFile" id="imageFile" />

<input type="file" name="imageFile" id="imageFile" />

<input type="submit" value="<?php echo strtoupper($addhouse);?>" id="sbAddHouse" name="sbAddHouse" style="width:100px;" onclick="window.location.href='#here';" >

</form>
PHP:

Emmalet


Рег
19 Jun, 2014

Тем
1

Постов
1

Баллов
11
  • 19, May 2024
  • #2
Большое спасибо. Я пробовал использовать разные имена для элемента ввода, как вы предлагали, но изображение вообще не загружалось. Не могли бы вы помочь, как foreach будет выглядеть в этом конкретном случае?
 

Alice3


Рег
24 Jun, 2015

Тем
0

Постов
1

Баллов
1
  • 22, May 2024
  • #3
Имя поля, которое захватывает изображение, не является массивом, и оно одинаковое, поэтому вам нужно изменить его так, чтобы оно соответствовало одному из этих
 <input type="file" name="imageFile1" id="imageFile" />
<input type="file" name="imageFile2" id="imageFile" />
<input type="file" name="imageFile3" id="imageFile" />
PHP: или
 <input type="file" name="imageFile[]" id="imageFile" /> <input type="file" name="imageFile[]" id="imageFile" /> <input type="file" name="imageFile[]" id="imageFile" />
PHP: и тогда вам нужен foreach в строке 37, который заканчивается примерно в строке 111.
 

vano768


Рег
14 Sep, 2014

Тем
0

Постов
2

Баллов
2
  • 12, Jun 2024
  • #4
непроверено, но это должно помочь. Общий код, помещенный в функцию, нужно еще многое сделать, чтобы сделать его «элегантным», и за некоторыми из них я не смог уследить, но вы должны многому научиться, сравнивая мой код со своим.
 <?php

function saveUploadedFile($counter, $file, $house_id){

$mess_err = [];

$validTypes = ["image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/png"];

$ten_hinh=$file['name'];

$imgtype=$file['type'];

$imgsize=$file['size'];

if(empty($ten_hinh)){

return;

}

if ( !in_array($imgtype, $validTypes)) {

if ($_FILES["imageFile"]["error"] > 0){

$mess_err[] = "+ {$imageinvalid}";

}

elseif($imgsize>1400000) {

$mess_err[] ="+ {$sizeimage}";

}

else $mess_err[] = "+ {$imageinvalid}";

}

else {

$newimgtype=substr($imgtype,6);

$newImagename = makeRandomFileName(8, $newimgtype);

$newimage = new SimpleImage();

$newimage->load($file['tmp_name']);

$newimage->resize(660,400);

$newimage->save("uploads/" .$newImagename);

$mainimg = ($k == 0)?1:0;

$sql ="INSERT INTO `imgs` (`house_id` ,`name`,`mainimg`, `status`) VALUES ('{$house_id}','{$newImagename}',{$mainimg},0)";

$rs = QuerySQL($sql);

}

return $mess_err;

}

function makeRandomFileName($length, $fileType){

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$rndstr = '';

for ($p = 0; $p < $length; $p++) {

$rndstr .= $characters[mt_rand(0, strlen($characters))];

}

$newImagename=md5(date('m/d/Y h:i:s').$rndstr).".".$fileType;

return $newImagename;

}

////////////////////////////////////////////

include('SimpleImage.php');

$mess_err = $mess_success = [];

if($_SERVER['REQUEST_METHOD']=="POST")

{

if(empty($_POST['txtName'])){

$mess_err[] = $messhousename;

}

else if(strlen($_POST['txtName'])<6){

$mess_err[] = $messlenHN;

}

if(intval($_POST['selectTinhTP'])==0){

$mess_err[] = $messcity;

}

else if(intval($_POST['selectDistrict'])==0){

$mess_err[] = $messdistrict;

}

if(empty($_POST['txtAddress'])){

$mess_err[] = $messaddress;

}

else if(strlen($_POST['txtAddress'])<6){

$mess_err[] = $messlenaddress;

}

if(($_POST['txtLivingsize']=="")){

$mess_err[] = $messlivingsize;

}

if(empty($_POST['captcha'])){

$mess_err[] = $messcaptcha;

}

else if($_POST['captcha'] != $_SESSION["security_code"]){

$mess_err[] = $messincorrectcaptcha;

}

if(count($mess_err) == 0 && array_key_exists('sbAddHouse', $_POST){

Connect_Database();

if(!isset($_POST['chkIncludeTax']))$_POST['chkIncludeTax'] =0;

if(!isset($_POST['chkCooling']))$_POST['chkCooling'] =0;

if(!isset($_POST['chkLaundry']))$_POST['chkLaundry'] =0;

if(!isset($_POST['chkSwimming']))$_POST['chkSwimming'] =0;

if(!isset($_POST['chkGarden']))$_POST['chkGarden'] =0;

if(!isset($_POST['chkYard']))$_POST['chkYard'] =0;

if(!isset($_POST['chkHeating']))$_POST['chkHeating'] =0;

$noi_dung1=strip_tags($_POST['txtAmenity']);

$noi_dung1=str_replace("<","&lt;",$noi_dung1);

$noi_dung1=str_replace(">","&gt;",$noi_dung1);

$noi_dung1=str_replace("'","&apos;",$noi_dung1);

$noi_dung1=str_replace('"',"&quot;",$noi_dung1);

$noi_dung1=str_replace('<pre>',"",$noi_dung1);

$noi_dung1=str_replace('</pre>',"",$noi_dung1);

$noi_dung1=nl2br($noi_dung1);

$Amenity=$noi_dung1;

$noi_dung=strip_tags($_POST['txtDescription']);

$noi_dung=str_replace("<","&lt;",$noi_dung);

$noi_dung=str_replace(">","&gt;",$noi_dung);

$noi_dung=str_replace("'","&apos;",$noi_dung);

$noi_dung=str_replace('"',"&quot;",$noi_dung);

$noi_dung=str_replace('<pre>',"",$noi_dung);

$noi_dung=str_replace('</pre>',"",$noi_dung);

$noi_dung=nl2br($noi_dung);

$Description=$noi_dung;

$now1=date("Y-m-d",time()+(14*60*60));



$query = "insert into houses(city_id, district_id, category_id, user_id, need_id, legal_id, direction_id, name, address, yearbuilt, description, created, lotsize, livingsize, price, includetax, mls, amentities, stories, floorcoverings, rooftype, bathroom, diningroom, bedroom, kitchen, livingroom, miscrooms, heating, cooling, water, sewer, laundry, parking, swimmingpool, garden, yardgrounds, handicapfeatures, status, views, contactname, contactemail, contactphone, contactmobile,latitude,longitude,fulladdress,unit) values(".intval($_POST['selectTinhTP']).", ".intval($_POST['selectDistrict']).",".intval($_POST['selectCate']).",".intval(0).", ".$_POST['selectNeed'].", ".$_POST['selectLegal'].", ".$_POST['selectDirection'].", '".mysql_real_escape_string($_POST['txtName'])."', '".mysql_real_escape_string($_POST['txtAddress'])."', '".mysql_real_escape_string($_POST['txtYearBuilt'])."', '".$Description."','".$now1."', ".intval($_POST['txtLotsize']).", ".$_POST['txtLivingsize'].", ".floatval($_POST['txtnewprice']).", ".$_POST['chkIncludeTax'].", '".mysql_real_escape_string($_POST['txtMLS'])."', '".$Amenity."', ".intval($_POST['txtNumBlock']).", '".mysql_real_escape_string($_POST['txtFloorCovering'])."', '".mysql_real_escape_string($_POST['txtRoofType'])."', ".intval($_POST['txtBathRoom']).", ".intval($_POST['txtDiningRoom']).", ".intval($_POST['txtBedRoom']).", ".intval($_POST['txtKitchen']).", ".intval($_POST['txtLivingRoom']).", '".intval($_POST['txtMiscRoom'])."','".intval($_POST['chkHeating'])."', ".intval($_POST['chkCooling']).", 0, 0, ".intval($_POST['chkLaundry']).", '".intval($_POST['txtParking'])."', ".intval($_POST['chkSwimming']).", ".intval($_POST['chkGarden']).", ".intval($_POST['chkYard']).", '', 0, 0, '".mysql_real_escape_string($_POST['fullname'])."', '".mysql_real_escape_string($_POST['txtemail'])."', '".mysql_real_escape_string($_POST['txtphone'])."', '".mysql_real_escape_string($_POST['txtmobile'])."','".mysql_real_escape_string($_POST['lat'])."','".mysql_real_escape_string($_POST['lng'])."','".mysql_real_escape_string($_POST['newaddress'])."','".$_POST['selectTime']."')";

if(QuerySQL($query)) {

$mess_err[] = $postnewssuc;

}

else {

echo "Error insert";

}

$house_id = mysql_insert_id()

foreach($_FILES['imageFile' as $k => $file]){

$mess_err[] = saveUploadedFile($k, $file, $house_id);

}

Close_Connect();

}

if (count($mess_err)) {

echo '+ '. implode('<br/>+ ', $mess_err);

}

?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="formAddHouse"onsubmit="return checkFormAddHouse();" enctype="multipart/form-data">

<input type="file" name="imageFile[]" id="imageFile" />

<input type="file" name="imageFile[]" id="imageFile" />

<input type="file" name="imageFile[]" id="imageFile" />

<input type="submit" value="<?php echo strtoupper($addhouse);?>" id="sbAddHouse" name="sbAddHouse" style="width:100px;" onclick="window.location.href='#here';" >

</form>
PHP:
 

L.I.A


Рег
26 Sep, 2011

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно