php视频缩略图
㈠ 如何用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截取视频第一帧 作为略缩图,怎么弄
你的这个需求是能实现的,事先的原理是:视频网站的自定义视频缩略图功能,在这里以优酷视频为例说明: 1、登录账号,进入到个人视频中心,点击视频后面的编辑 2、选择“自选封面”-然后开始播放视频,在刚开始的地方,暂停视频,然后点击下面的截...
㈢ 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缩略图代码的详细功能逻辑
1. 功能逻辑:
获取原图片大小 - 与设定的最大宽度、高度比较 - 得出图像的缩放比例 - 根据缩放比例,算出生成缩略图的新长宽数值 - 使用imageresampled或是imageresized函数最终生成图像
2. 想改为缩略图不变形该如何改?
如果想使缩略图不变形,最重要的一点是等比缩放,也就是长度和宽度的缩放比例要一样。
最简便的办法是修改以下两句:
imageresized($thumbImg, $srcImg, 0, 0, $x, $y, $width, $height, $srcWidth,$srcHeight);
imageresampled($thumbImg, $srcImg, 0, 0, $x, $y, $width, $height, $srcWidth,$srcHeight);
$width, $height 这两个参数保证与 $srcWidth,$srcHeight 同比就行了。
㈤ 如何用PHP获取优酷、薯仔、酷6、56等视频网站的视频缩略图
方案1,
上那些网站,查看源代码,从中找出那些视频的链接地址,加到自己网页里,
方案2
用PHP里的小偷工具
自己看着办吧,你给的分也太少了
㈥ 能直接用的PHP生成缩略图的程序(要求简单)
<?php
/*构造函数-生成缩略图+水印,参数说明:
$srcFile-图片文件名,
$dstFile-另存文件名,
$markwords-水印文字,
$markimage-水印图片,
$dstW-图片保存宽度,
$dstH-图片保存高度,
$rate-图片保存品质*/
makethumb("a.jpg","b.jpg","50","50");
function makethumb($srcFile,$dstFile,$dstW,$dstH,$rate=100,$markwords=null,$markimage=null)
{
$data = GetImageSize($srcFile);
switch($data[2])
{
case 1:
$im=@ImageCreateFromGIF($srcFile);
break;
case 2:
$im=@ImageCreateFromJPEG($srcFile);
break;
case 3:
$im=@ImageCreateFromPNG($srcFile);
break;
}
if(!$im) return False;
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$dstX=0;
$dstY=0;
if ($srcW*$dstH>$srcH*$dstW)
{
$fdstH = round($srcH*$dstW/$srcW);
$dstY = floor(($dstH-$fdstH)/2);
$fdstW = $dstW;
}
else
{
$fdstW = round($srcW*$dstH/$srcH);
$dstX = floor(($dstW-$fdstW)/2);
$fdstH = $dstH;
}
$ni=ImageCreateTrueColor($dstW,$dstH);
$dstX=($dstX<0)?0:$dstX;
$dstY=($dstX<0)?0:$dstY;
$dstX=($dstX>($dstW/2))?floor($dstW/2):$dstX;
$dstY=($dstY>($dstH/2))?floor($dstH/s):$dstY;
$white = ImageColorAllocate($ni,255,255,255);
$black = ImageColorAllocate($ni,0,0,0);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$white);// 填充背景色
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH);
if($markwords!=null)
{
$markwords=iconv("gb2312","UTF-8",$markwords);
//转换文字编码
ImageTTFText($ni,20,30,450,560,$black,"simhei.ttf",$markwords); //写入文字水印
//参数依次为,文字大小|偏转度|横坐标|纵坐标|文字颜色|文字类型|文字内容
}
elseif($markimage!=null)
{
$wimage_data = GetImageSize($markimage);
switch($wimage_data[2])
{
case 1:
$wimage=@ImageCreateFromGIF($markimage);
break;
case 2:
$wimage=@ImageCreateFromJPEG($markimage);
break;
case 3:
$wimage=@ImageCreateFromPNG($markimage);
break;
}
image($ni,$wimage,500,560,0,0,88,31); //写入图片水印,水印图片大小默认为88*31
imagedestroy($wimage);
}
ImageJpeg($ni,$dstFile,$rate);
ImageJpeg($ni,$srcFile,$rate);
imagedestroy($im);
imagedestroy($ni);
}
?>
㈦ php怎样截取视频图
用ffmpeg直接读取网站的某个视频,然后截取其中的某帧作为该视频的缩略图;读取网站自身提供的视频缩略图。
获取图片路径:
function get_youku_thumb($url) {
$content = file_get_contents($url);
preg_match( '/id="s_msn2".*?screenshot=(.*?)".?target=/', $content, $matchs );
return $matchs[1];
}
echo get_youku_thumb('视频网址');
把过去的图片WordPress的缩略图,可以将获取缩略图的代码做成shortcode,直接在文章中调用。也可以通过custom_field方式记录视频地址,在主循环中调用该函数获得缩略图,借助timthumb.php等脚本生成缓存存放到本地,就不用每次都去读网页了。