Похоже, что моя функция загрузки с использованием dropzone не позволяет добавлять новую строку в мой SQL или загружать реальную картинку. Суть в том, что он запускает дропзону, используя PHP при нажатии кнопки, а вставка SQL добавляет фотографию в таблицу при загрузке фотографии в папку.
- for_lease_photos.php (список единиц)
полный URL-адрес будет «for_lease_photos_list.php? I = 1», где i = 1 - это идентификатор (аренды) устройства
В таблице фотографий будут показаны только изображения с тем же арендным номером, что и на странице
правильная таблица - это зона сброса, код ниже
<div class="col-md-4 bg-color-white shadow border-radius">
<div class="row bg-color-dark-gold border-top-radius">
<div class="col-md-12 color-white section-title-bar">
<span class="ion-image"></span> PHOTO
</div>
</div>
<div class="col-md-12 spacer"></div>
<div class="col-md-12">
<form action="for_lease_sale_photos_upload.php" class="dropzone"></form>
</div>
<div class="col-md-12 spacer"></div>
</div>
- for_lease_sale_photos_upload.php
Эти коды должны сработать, когда я добавлю фотографию в зону сброса
<?php
$routePath = "../";
require_once($routePath . "_config/db.php");
$dbConfig = new config_db();
$db = $dbConfig->init();
require_once($routePath . "_config/app.php");
require_once($routePath . "_lib/c/Photo_Resizer.php");
require_once($routePath . "_lib/c/slug.php");
require_once($routePath . "_mc/Property.mc.php");
$mcProperty = new Property_MC();
$leaseid = $_GET['i'];
$totalphotos = $mcProperty->SelectPhotoCount_ByLeaseId($db, $leaseid);
$uploadnum = $totalphotos + 1;
$ds = DIRECTORY_SEPARATOR;
$storeFolder = $routePath.$imgPathLease;
if (!empty($_FILES))
{
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$photosrc = 'detail-'.$leaseid.'-'.$uploadnum;
$thumbsrc = 'thumb-'.$leaseid.'-'.$uploadnum;
$targetFile = $targetPath.$photosrc;
move_uploaded_file($tempFile,$targetFile);
$resizeObj = new resize($routePath.$imgPathLease.$photosrc);
$resizeObj->saveImage($routePath.$imgPathLease.$photosrc, 80);
$resizeObj->resizeImage(300, 300, 'crop');
$resizeObj->saveImage($routePath.$imgPathLease.'thumb-'.$leaseid.'-'.$uploadnum, 80);
$mcProperty->InsertLeasePhoto($db, $leaseid, $photosrc, $thumbsrc);
}
?>
Отдельные коды
приведенные ниже коды являются отдельными и находятся в разных файлах, но они взаимодействуют с for_lease_photos_list.php :
$imgPathLease = 'img/_uploads/lease';
<?php
Class Property_MC {
public function SelectPhotoCount_ByLeaseId($db, $leaseid) {
$stmt = $db->prepare(
" SELECT COUNT(leaseid)
FROM for_lease_photos
WHERE
leaseid = :leaseid "
);
$stmt->bindValue(':leaseid', $leaseid, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $row;
}
public function InsertLeasePhoto($db, $leaseid, $photosrc, $thumbsrc) {
$stmt = $db->prepare(
" INSERT INTO for_lease_photos
(leaseid, photosrc, thumbsrc)
VALUES
(leaseid = :leaseid, photosrc = :photosrc, thumbsrc = :thumbsrc) "
);
$stmt->bindValue(':leaseid', $leaseid, PDO::PARAM_INT);
$stmt->bindValue(':photosrc', $photosrc, PDO::PARAM_STR);
$stmt->bindValue(':thumbsrc', $thumbsrc, PDO::PARAM_STR);
$stmt->execute();
$rowAffected = $stmt->rowCount();
return $rowAffected;
}
}
?>
Хотелось бы узнать, чего мне не хватает, обновлю вопросы по предложениям, спасибо за любую помощь.