当前位置:首页 » 编程语言 » php获取缩略图

php获取缩略图

发布时间: 2022-10-11 17:14:19

㈠ 如何用php获取主流视频网站的缩略图

给你说下大体的思路吧,正好也刚写完个爬虫。

首先,要爬取想要的视频页面,先要有能用代码模拟出来整个登录过程,(有些需要登陆后才能显示的),这些包括以什么形式访问此页面GET?POST?,当然这里POST需要加参数才能访问,另外,最好还要把COOIKES值设置成固定的,这样访问才不容易被识别为异常访问:(我用的是官方发行的一个类-Quest.php)

->实例化HTTP_ HTTP_Request("域名");

->声明相应的请求;$req->setMethod(HTTP_REQUEST_METHOD_GET); $req->setMethod(HTTP_REQUEST_METHOD_POST);

->发送连接;$req->setURL("http://www..com");

->执行请求:$req->sendRequest();

->得到cookies:$cookies = $req->getResponseCookies();(传给一个新的数组,在需要反复爬取的页面尽量传此cookies,需要登陆爬取的必反)

->清除post和cookies:$req->clearPostData(); $req->clearCookies(); (循环爬取时需要清除)

->添加post方法:$req->addPostData(name,value,false); 参数name,参数value;

->得到理想页:$response = $req->getResponseBody();

->得到头信息:$resHeader = $req->getResponseHeader();

->打开指定文件:$res = fopen("c:/love/forever.txt", 'w');

->写入 :fwrite($res,$response); #写入

->关闭指针:fclose($res);

我爬取的去文字信息,你要爬取对应视频图片直接抓取出来就行了--

你可以试下这个代码,js:在随便网页地址栏输入---javascript:Ai7Mg6P='';for%20(i7M1bQz=0;i7M1bQz<document.images.length;i7M1bQz++)

{Ai7Mg6P+='<img%20src='+document.images[i7M1bQz].src+'><br>'};if(Ai7Mg6P!=''){document.write('<center>'+Ai7Mg6P+'</center>');

void(document.close())}else{alert('No%20images!')}

加油!

㈡ php创建缩略图问题

其实PHP创建缩略图就是在PHP在原图片的基础上创建一张新的图片的过程,而用PHP创建图像的过程一般分成四部:

第一步:创建一张画布(只要是画图都需要一张画布的)

第二步:在画布画东西(可以画各种图形,如长方形,直线,等等,也可以在画布上写字啥的,或者画其他的图形)

第三步:画完图之后,将图片输出,将图片输出到浏览器,在浏览器显示出来,或者保存为一张新 的图片(缩略图一般是保存为图片文件的)

第四步:因为创建画布时打开了文件流,所以要关闭资源,节省内存。(个人觉得你可以这样理解,打开了一画布,把它铺开了,画完了就把画布卷起来,收起来,不要占着铺的地方)


具体的代码如下:(这段代码来源于ThinkPHP的图像类)

<?php
classThumb{
/**
*@paramstring$image原图
*@paramstring$thumbname缩略图文件名
*@paramstring$type图像格式
*@paramstring$maxWidth宽度
*@paramstring$maxHeight高度
*/
staticcreate($img,$thumbname,$type='',$maxWidth=200,$maxHeight=50)
{
$info=getimagesize($img);//获取原图的图像信息(长、宽、格式等)
if($info!==false){
$srcWidth=$info['width'];
$srcHeight=$info['height'];
$type=empty($type)?$info['type']:$type;
$type=strtolower($type);
$interlace=$interlace?1:0;
unset($info);
$scale=min($maxWidth/$srcWidth,$maxHeight/$srcHeight);//计算缩放比例
if($scale>=1){
//超过原图大小不再缩略
$width=$srcWidth;
$height=$srcHeight;
}else{
//缩略图尺寸
$width=(int)($srcWidth*$scale);
$height=(int)($srcHeight*$scale);
}

//载入原图(在原图的基础上创建画布,为第一步)
$createFun='ImageCreateFrom'.($type=='jpg'?'jpeg':$type);
if(!function_exists($createFun)){
returnfalse;
}
$srcImg=$createFun($image);

//第二步开始
//创建缩略图
if($type!='gif'&&function_exists('imagecreatetruecolor'))
$thumbImg=imagecreatetruecolor($width,$height);
else
$thumbImg=imagecreate($width,$height);
//png和gif的透明处理byluofei614
if('png'==$type){
imagealphablending($thumbImg,false);//取消默认的混色模式(为解决阴影为绿色的问题)
imagesavealpha($thumbImg,true);//设定保存完整的alpha通道信息(为解决阴影为绿色的问题)
}elseif('gif'==$type){
$trnprt_indx=imagecolortransparent($srcImg);
if($trnprt_indx>=0){
//itstransparent
$trnprt_color=imagecolorsforindex($srcImg,$trnprt_indx);
$trnprt_indx=imagecolorallocate($thumbImg,$trnprt_color['red'],$trnprt_color['green'],$trnprt_color['blue']);
imagefill($thumbImg,0,0,$trnprt_indx);
imagecolortransparent($thumbImg,$trnprt_indx);
}
}
//复制图片
if(function_exists("ImageCopyResampled"))
imageresampled($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);
else
imageresized($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);

//第三步:输出图像
//生成图片
$imageFun='image'.($type=='jpg'?'jpeg':$type);
$imageFun($thumbImg,$thumbname);

//第四步:关闭画布
imagedestroy($thumbImg);
imagedestroy($srcImg);
return$thumbname;
}
returnfalse;

}

}
?>

你使用的时候直接用:

requireThumb.class.php
$thumb=Thumb::create('s.jpg','thumb_s.jpg',100,50);

希望我的回答你能满意

㈢ php怎么生成缩略图

给你个函数吧
//*****生成缩略图*****
//只考虑jpg,png,gif格式
//$srcImgPath源图象路径
//$targetImgPath目标图象路径
//$targetW目标图象宽度
//$targetH目标图象高度
functionmakeThumbnail($srcImgPath,$targetImgPath,$targetW,$targetH)
{
$imgSize=GetImageSize($srcImgPath);
$imgType=$imgSize[2];
//@使函数不向页面输出错误信息
switch($imgType)
{
case1:
$srcImg=@ImageCreateFromGIF($srcImgPath);
break;
case2:
$srcImg=@ImageCreateFromJpeg($srcImgPath);
break;
case3:
$srcImg=@ImageCreateFromPNG($srcImgPath);
break;
}
//取源图象的宽高
$srcW=ImageSX($srcImg);
$srcH=ImageSY($srcImg);
if($srcW>$targetW||$srcH>$targetH)
{
$targetX=0;
$targetY=0;
if($srcW>$srcH)
{
$finaW=$targetW;
$finalH=round($srcH*$finaW/$srcW);
$targetY=floor(($targetH-$finalH)/2);
}
else
{
$finalH=$targetH;
$finaW=round($srcW*$finalH/$srcH);
$targetX=floor(($targetW-$finaW)/2);
}
//function_exists检查函数是否已定义
//ImageCreateTrueColor本函数需要GD2.0.1或更高版本
if(function_exists("ImageCreateTrueColor"))
{
$targetImg=ImageCreateTrueColor($targetW,$targetH);
}
else
{
$targetImg=ImageCreate($targetW,$targetH);
}
$targetX=($targetX<0)?0:$targetX;
$targetY=($targetX<0)?0:$targetY;
$targetX=($targetX>($targetW/2))?floor($targetW/2):$targetX;
$targetY=($targetY>($targetH/2))?floor($targetH/2):$targetY;
//背景白色
$white=ImageColorAllocate($targetImg,255,255,255);
ImageFilledRectangle($targetImg,0,0,$targetW,$targetH,$white);
/*
PHP的GD扩展提供了两个函数来缩放图象:
ImageCopyResized在所有GD版本中有效,其缩放图象的算法比较粗糙,可能会导致图象边缘的锯齿。
ImageCopyResampled需要GD2.0.1或更高版本,其像素插值算法得到的图象边缘比较平滑,
该函数的速度比ImageCopyResized慢。
*/
if(function_exists("ImageCopyResampled"))
{
ImageCopyResampled($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH);
}
else
{
ImageCopyResized($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH);
}
switch($imgType){
case1:
ImageGIF($targetImg,$targetImgPath);
break;
case2:
ImageJpeg($targetImg,$targetImgPath);
break;
case3:
ImagePNG($targetImg,$targetImgPath);
break;
}
ImageDestroy($srcImg);
ImageDestroy($targetImg);
}
else//不超出指定宽高则直接复制
{
($srcImgPath,$targetImgPath);
ImageDestroy($srcImg);
}
}
代码已经测试,成功运行!

㈣ PHP批量生成缩略图

用不着那么麻烦,直接下载文件夹,用光影魔术手,批量生成文件夹内的文件,同名覆盖上去就了,连水印,效果,边框什么的都可以加上去,方便省时;
如果硬要写程序的话,可以用“jsw0523”里面写的img2thumb 的函数,通过数据库读取数据循环,直接循环体内通过参数调用就行了

㈤ 求如何用php读取指定文件夹中的所有图片,生成缩略图,在网页上分页显示,单击缩略图就在新页面显示大图。

生成缩略图采用读取文件夹的方式
$handle = opendir($dir)
while(false !== ($file = readdir($handle)))
{
if($file 是图片)
{
生成缩略图代码
}
}

㈥ 如何用PHP获取SWF和gif动画的缩略图

这个貌似php自己的库还不行哈 ,只有自己写,但是那好难的,你直接在商场的时候加一个缩略图上传

㈦ 用PHP怎么生成高质量的缩略图

ImageMagick没用过,一般直接用内置的GD库,没有发现你说的这么严重的失真问题。

利用GD库创建缩略图的大致思路如下:

依据设定的尺寸创建真彩色画布$im=createtruecolor(120,90);

读取原始文件尺寸,按照原始尺寸的宽度和高度比例,计算出缩略图的大小(可能与给定的尺寸有一定的偏差)

将原始图像拷贝并缩放到创建的真彩色缩略图画布上。

输出缩略图文件。

可能就是因为利用的是这个真彩色,缩略图效果还凑合,也不是说绝对不失真的

你可以去后盾人平台看看,里面的东西不错

㈧ php如何获取优酷的缩略图

你首先需要通过火狐Firebug分析提取到缩略图的地址,然后再通过curl采集图片文件保存到本地。

关于curl的使用,可以访问:http://www.zjmainstay.cn/php-curl学习,文章中提供了

大量的curl应用示例。

㈨ 如何用PHP获取优酷、薯仔、酷6、56等视频网站的视频缩略图

方案1,
上那些网站,查看源代码,从中找出那些视频的链接地址,加到自己网页里,
方案2
用PHP里的小偷工具
自己看着办吧,你给的分也太少了

热点内容
linuxbin文件的安装 发布:2024-12-22 21:46:07 浏览:795
vlcforandroid下载 发布:2024-12-22 21:45:26 浏览:661
电脑做网关把数据发送至服务器 发布:2024-12-22 21:44:50 浏览:428
新华三代理什么牌子的服务器 发布:2024-12-22 21:33:21 浏览:339
欢太会员密码是什么 发布:2024-12-22 20:57:28 浏览:71
sqllocaldb 发布:2024-12-22 20:07:08 浏览:123
如何找到我的服务器 发布:2024-12-22 19:52:14 浏览:299
手挂机脚本游 发布:2024-12-22 19:38:00 浏览:429
层次原理图如何编译 发布:2024-12-22 19:27:17 浏览:371
android计算缓存大小 发布:2024-12-22 19:16:54 浏览:660