У меня есть вопрос. Мне нужно получить размеры изображения из изображений в папке с PHP. Я знаю, что, вероятно, будет лучшим способом сделать это с помощью функции PHP getimagesize
но я понятия не имею, куда поместить фрагмент кода в мой скрипт для сохранения в БД. Не могли бы вы помочь мне.
Вот мой скрипт Php:
<?php
$server = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'dbname';
$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);
$path = "gb-bilder-pics/augen/";
$files = array_map('mysql_real_escape_string',array_filter(glob("{$path}*.*"),'is_file'));
if(empty($files)){
echo "There were no matching files to insert into the database.";
}else{
$insertValues = array();
foreach($files as $file)
{
$insertValues[] = "('Titel', 'augen', '{$file}', '{$width????}', '{$height????}')";
}$query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`) VALUES " . implode(', ', $insertValues);
if(!mysql_query($query)){
echo "There was a problem inserting the data.";
trigger_error("Query failed: $query<br />Error: " . mysql_error());
} else {
echo "The data was inserted successfully.";
}
}?>
(PHP 4, PHP 5, PHP 7) getimagesize — получить размер изображения
Просто использовать getimagesize
и передайте имя файла. Он вернет размеры вместе с текстовой строкой типа файла и высоты / ширины.
Я предлагаю попробовать эту функцию на изображении, которое у вас есть на вашем компьютере, и просто посмотреть, как этот метод ведет себя. Я уверен, что вы сможете выяснить, как извлечь ширину и высоту из результата.
Если после этого вам все еще нужна помощь в реализации этого в вашем собственном коде, не бойтесь спрашивать
Я понял, что это действительно легко, это скрипт, модифицированный для получения размеров изображения без подключения к БД, который вы должны установить раньше, если хотите использовать скрипт на вашем сервере.
$path = "gb-bilder-pics/augen/";
$files = array_map('mysql_real_escape_string',array_filter(glob("{$path}*.*"),'is_file'));
if(empty($files)){
echo "There were no matching files to insert into the database.";
} else {
$insertValues = array();
foreach($files as $file)
{
$data = getimagesize($file);
$width = $data[0];
$height = $data[1];
$insertValues[] = "('Titel', 'augen', '{$file}', '$width', '$height')";
}$query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`) VALUES " . implode(', ', $insertValues);
if(!mysql_query($query)){
echo "There was a problem inserting the data.";
trigger_error("Query failed: $query<br />Error: " . mysql_error());
} else {
echo "The data was inserted successfully.";
}
}