Как определить размер картинки, а затем выборочно вставить в базу данных?PHP - PullRequest
0 голосов
/ 15 ноября 2010

У меня есть 5 картинок: img1.jpg, img2.png, img3.gif, img4.jpg, img5.png.

Как определить размер изображения, если это горизонтальное изображение (ширина больше высоты), ширина> = 300px и высота> = 200, а затем вставить в базу данных?

В противном случае изображение является вертикальным изображением или шириной менее 300 пикселей и высотой менее 200 пикселей, не вставляйте его в базу данных?

<?php
$links = array("img1.jpg", "img2.png", "img3.gif", "img4.jpg", "img5.png");
$sizearray = array();
$count = count($links);
for($i = 0; $i < $count; $i++) {
    $size = getimagesize($links[$i]);
    list($width, $height) = $size;
    $sizearray[$links[$i]] = array("width" => $width, "height" => $height);
}
print_r($sizearray);
// which will print out: Array ( [img1.jpg] => Array ( [width] => 300 [height] => 400 ) [img2.png] => Array ( [width] => 680 [height] => 330 ) [img3.gif] => Array ( [width] => 50 [height] => 50 )[img4.jpg] => Array ( [width] => 400 [height] => 250 )[img5.png] => Array ( [width] => 400 [height] => 300 ))
?>


<?php
mysql_query("INSERT INTO photo (id,image) VALUES ('', '".$links."')");
?>

Это должно вставить img2.png и img5.png в базу данных. Спасибо.

Ответы [ 2 ]

1 голос
/ 15 ноября 2010

Когда вы выполняете цикл, вы можете вставить в базу данных

for($i = 0; $i < $count; $i++) {
    $size = getimagesize($links[$i]);
    list($width, $height) = $size;
    if ($width > $height)
       mysql_query("INSERT INTO photo (id,image) VALUES ('', '".$links[$i]."')");
}

Если идентификатор является полем автоинкремента, вы можете упростить запрос sql

mysql_query("INSERT INTO photo(image) VALUES('".$links[$i]."')");
0 голосов
/ 15 ноября 2010

$links = array("img1.jpg", "img2.png", "img3.gif", "img4.jpg", "img5.png"); $sizearray = array(); $count = count($links); for($i = 0; $i < $count; $i++) { $size = getimagesize($links[$i]); list($width, $height) = $size; $sizearray[$links[$i]] = array("width" => $width, "height" => $height); if ($width > $height) mysql_query("INSERT INTO photo (id,image) VALUES ('', '".$links[$i]."')"); }

...