На сайте Intr anet я перемещаю довольно много изображений из файловой системы в MySQL и написал небольшую функцию для помощи. Нет ошибок, но не вставляются изображения.
Кроме того, изображения с одинаковыми именами находятся в подпапке, имя которой передается функции, но я не уверен, как ее включить. так что меньшие изображения записывают в одну строку. Прямо сейчас нет никакого программирования для этого, поскольку я не знаю, с чего начать!
Есть идеи по поводу этих двух вещей? Конечно, второй вопрос является спорным, пока не заработает первый.
function uploadFolder($path,$thumbpath) {
// Use form to submit path (keeps process from running automatically when loaded)
if (isset($_POST['create']) && isset($path)) :
global $siteDB;
// Fetch image names from existing albums
$sqlAlbum = "SELECT ID, ImageName FROM albums ORDER BY ImageName";
$sqlRow = DBConnect($sqlAlbum, "Multiple", $siteDB, "assoc");
// Build queries to insert all images to table
foreach ($sqlRow as $row) :
$filename = basename($row['ImageName']);
$albumID = $row['ID'];
$pathname = $path.$filename;
$sqlUpload = "INSERT INTO images (`ImageName`,`AlbumID`,`ImageFull`) VALUES ('$filename', $albumID, LOAD_FILE('$pathname'))";
// Run the query for each file
DBConnect($sqlUpload,"Run", $siteDB);
endforeach;
// FOR TEST PURPOSES ONLY
$_SESSION['testSQL'] = $sqlUpload;
endif;
}
он вызывается с помощью:
if (isset($_POST)) :
$path = (isset($_POST['path'])) ? $_POST['path'] : "";
uploadFolder($path,"thumbnails");
endif;
Не так много для таблицы изображений, но вот она:
CREATE TABLE IF NOT EXISTS `images` (
`ID` int unsigned NOT NULL AUTO_INCREMENT,
`ImageName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`AlbumID` int unsigned DEFAULT NULL,
`ImageFull` blob,
`ImageThumb` blob,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=228 DEFAULT CHARSET=utf8;