❶ Thinkphp3.2.3 上传图片到ftp,同时生成缩略图。
ThinkPHP上传文件类:
$upload = new ThinkUpload($config);// 实例化上传类
使用这个。
如要处理图片大小。需要另外调用图像处理:
裁剪图片
$image=newThinkImage();
$image->open('./1.jpg');
//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400,400)->save('./crop.jpg');
居中裁剪
$image=newThinkImage();
$image->open('./1.jpg');
//生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg
$image->thumb(150,150,ThinkImage::IMAGE_THUMB_CENTER)->save('./thumb.jpg');
❷ 如何用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+MYSQL+PHPMYADMIN创建保存图片的数据库有谁知道,指导一下!谢谢!
首先你的数据库里要有一张这样的数据表。
关键字段为 id,img_max_path ,img_min_path,img_size,img_info,需要其他的字段你自行加入。
PHP程序里需要一个文件上传的方法或函数,主要需求就是限制上传文件大小、上传文件为常用图片格式。
上传后文件自动改名,移动到服务器指定目录;并生成缩略图,移动到指定目录。
最后要写数据库的操作,就是将该次上传图片操作结果写进数据库。
id为主键,有新的条目时,自动累加;
img_max_path为索引,它存储的就是上传的改名原图保存的路径;
img_min_path为索引,它存储的就是生存缩略图的保存路径;
img_size,它保存的是该原图上传时的图像尺寸;
img_info,为图片的说明信息,可为空。
当然这些做好后,可以尝试扩展其他功能,如重新上传原图,全部图片缩略图浏览列表功能等。
祝你好运
❹ php中如何把文件夹里的前几个图片缩略图拷贝到一个文件夹图片上,显示出来
if(!file_exists($_SERVER['DOCUMENT_ROOT']."/att/".date("ymd")))
{
if(mkdir($_SERVER['DOCUMENT_ROOT']."/att/".date("ymd"), 0777)) //创建名为mydir的目录
{
//print("目录创建成功"); //目录建立成功
}
}
$img=new C_SMAILLIMAGE;
$thumb=$img->resize_image($url,106,106,$_SERVER['DOCUMENT_ROOT']."/att/".date("ymd")."/".date("ymdhis")."_re1d.com_",$mode = 1);
return substr($thumb,strpos($thumb, 'att')-1);
//-----------------
下面是缩图类
class C_SMAILLIMAGE
{
var $src = ''; //原图片地址
var $dst = ''; //目标图片标示
var $mode = 1; //是否显示(0显示,1不显示)
var $exe = ''; // ps:upload/s_
function resize_image($src,$dst_width,$dst_height,$exe='',$mode = 0)
{
$width = $this->get_msg($src,0);
$height = $this->get_msg($src,1);
if ($width<=$dst_width&&$height<=$dst_height)
{
$imgname=getImage($src);
return $_SERVER['DOCUMENT_ROOT'].'/att/'.substr(getImage($imgname),0,6).'/'.$imgname;//当长宽在范围内。。不做处理。。。
}
else
{
$this->exe = $exe;
$this->mode = $mode;
$src_h = $this->get_msg($src,2);//return:resouse 返回图象标示符
$size = $this->resize($src,$dst_width,$dst_height);
$dst = @imagecreatetruecolor($size[x],$size[y]);
$bool = @imageresampled($dst,$src_h,0,0,0,0,$size[x],$size[y],$width,$height);
$new_file = $this->exe.basename($src);
if($bool)
{
switch ($this->get_msg($src,3))
{
case 1:
imagegif($dst,$new_file);
break;
case 2:
imagejpeg($dst,$new_file);
break;
case 3:
imagepng($dst,$new_file);
break;
}
return $new_file;
}
else
{
return 0;//失败返回
}
/* }*/
}
}