❶ 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;//失敗返回
}
/* }*/
}
}