我正在使用代码,首先检查文件夹中的文件名,然后创建url。在url中找到特殊的行,其中是一个imagefile。它正确显示图像和地址,但如果图像太大,需要花费很长时间。是否可以创建缩略图并显示此图像而不是图像?谢谢!
require_once('simple_html_dom.php');
$files = scandir('files/');
foreach($files as $file) {
if($file == '.' || $file == '..') continue;
$file = basename($file, ".html");
$url = 'http://address.com/test/'.$file;
$html = file_get_html($url);
foreach($html->find('img') as $element) {
if (strpos($element,'address.com') !== false) {
$url = $element->src;
echo $url.'</br>';
echo '<IMG SRC="',$url, '" WIDTH="128" HEIGHT="96" BORDER="0" ALT="" /><br/>';
}
}
}
答案 0 :(得分:0)
您想使用CSS clip:rect(50px 218px 155px 82px);
设置宽度和高度不会影响ACTUAL图像大小,因此加载时间仍然需要很长时间。请参阅本文逐步div
创建和css
编码。
http://www.seifi.org/css/creating-thumbnails-using-the-css-clip-property.html
另外作为附注,没有什么比实际上做TUMBNAILS更好!有服务端缩略图生成器,但这是你实际制作tumbnails时最好的。
答案 1 :(得分:0)
我在How to proportionally resize uploaded images上写了一篇博文,你应该可以调整the sample I wrote的代码来做你想做的事。
如果我的网站将来死亡,请粘贴以下代码。
<?php
// *snip* Removed form stuff
$image = imagecreatefromjpeg($pathToImage);
// Target dimensions
$max_width = 240;
$max_height = 180;
// Calculate new dimensions
$old_width = imagesx($image);
$old_height = imagesy($image);
$scale = min($max_width/$old_width, $max_height/$old_height);
$new_width = ceil($scale*$old_width);
$new_height = ceil($scale*$old_height);
// Create new empty image
$new = imagecreatetruecolor($new_width, $new_height);
// Resample old into new
imagecopyresampled($new, $image,
0, 0, 0, 0,
$new_width, $new_height, $old_width, $old_height);
// Catch the image data
ob_start();
imagejpeg($new, NULL, 90);
$data = ob_get_clean();
// Destroy resources
imagedestroy($image);
imagedestroy($new);
// Output image data
header("Content-type: image/jpeg", true, 200);
echo $data;
您可能希望将其添加到函数中并将其输出更改为文件。然后在foreach循环中生成缩略图并链接到缩略图而不是原始缩略图。您还应该检查是否已经为图像创建了缩略图,这样您就不会对每张图像执行多次。