ホームページ >バックエンド開発 >PHPチュートリアル >PHP はサムネイル ファイルのアップロード コードの生成をサポートします_PHP チュートリアル

PHP はサムネイル ファイルのアップロード コードの生成をサポートします_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:45:19805ブラウズ

phpチュートリアルは、サムネイルファイルのアップロードコードの生成をサポートしています
?>


<頭>

無題のドキュメント


クラスアップファイルクラス{

var $upfile、$upfile_name、$upfile_size;
# $upfile 一時ファイル名 $_files['tmp_name'], $upfile_name ファイル名 $_files['name'], $upfile_size ファイルサイズ $_files['size'];

var $new_upfile_name; # アップロードされたファイルの名前。 var $fleth, $fileextent # ファイル拡張子 (種類); var $f1, $f2, $f3; # ファイル保存パス (複数レベル) upfiles/2008-01/08/;
var $filename; # ファイル (パス付き) ;
var $filepath; #ファイルの削除には相対パスが使用されます;
var $maxsize, $file_type; # アップロードが許可されるファイルのサイズとアップロードが許可されるファイルの種類 ;

var $buildfile,$newfile,$file_width,$file_height,$rate;

関数 upfileclass($upfile,$upfile_name,$upfile_size){

$this->upfile = $upfile;

$this->upfile_name = $upfile_name;
$this->upfile_size = $upfile_size;
$this->new_upfile_name = $this->createnewfilename($this->upfile_name);
$this->f1 = "アップファイル";
$this->f2 = $this->f1."/".date('y')."-".date('m');
$this->f3 = $this->f2."/".date('d');
$this->filename = $this->f3 . $this->new_upfile_name;
$this->maxsize = 500*1024 #ファイルサイズ 500kb
$this->file_type = "gif/jpg/jpeg/png/bmp"; # アップロードできるファイルの種類
}

#新しいファイル名(元のファイル名)を作成

関数 createnewfilename($file_name){

$this->fleth =explode(".",$file_name);
$this->fileextent = $this->fleth[(int)count($this->fleth)-1]; # ファイルの接尾辞を取得します。 $tmps チュートリアル tr = date('ymd').rand(0,time()) ." .$this->fileextent; # 新しいファイル名を作成します。 $tmpstr;
を返します }

# ファイルタイプが正しいか確認してください
関数 chk_fileextent(){
$iwtrue = 0;

$fle =explode("/",$this->file_type);

for($i=0; $i If($this->ファイル範囲 == $fle[$i]){
$iwtrue = (int) $iwtrue + 1;
}
}
If( $iwtrue == 0 ){
$this->msg("ファイルは「.$this->file_type.」形式に準拠していません!");
}
}

# エラーメッセージを表示して操作を終了します
関数 msg($error){
echo "n";
死ぬ();
}

#ファイルを保存
関数 savefile(){
$this->chk_fileextent();

$this->chk_filesize();

$this->createfolder( "../".$this->f1 );
$this->createfolder( "../".$this->f2 );
$this->createfolder( "../".$this->f3 );
$this->chk_savefile();
を返す }

# アップロード結果が成功したかどうかを確認します
関数 chk_savefile(){
$copymsg = copy($this->アップファイル,"../".$this->ファイル名);

If( $copymsg ){

$this->ファイル名を返します;
}
他{
$this->msg("ファイルのアップロードに失敗しました!nnもう一度アップロードしてください! ");
}
}

#フォルダーを作成する
関数 createfolder($foldername){
If( !is_dir($フォルダ名) ){
mkdir($フォルダー名,0777);
}
}

#ファイルサイズを検出する
関数 chk_filesize(){
If( $this->upfile_size > $this->maxsize ){
$this->msg("ターゲット ファイルは ". $this->maxsize/1024 ." kb" より大きくすることはできません);
}
}

#ファイルの削除 ($filepath ファイルの相対パス)
関数 deletefile($filepath){
If( !is_file($filepath) ){
false を返します;
}
他{
$ending = @unlink($filepath);
$ending を返します;
}
}

/*
機能: サムネイルを生成します
makebuild("/www.bKjia.c0m/a.jpg","news/b.jpg","100");
パラメータ:
$buildfile をパス付きでエコーします
Echo $newfile パス付きの生成されたサムネイル
エコー $file_width の値
Echo $file_height; サムネイルの高さの値 (デフォルトは幅の比率)
エコー $レート;
*/
関数 makebuild($buildfile,$newfile,$file_width,$file_height=0,$rate=100) {
If(!is_file($buildfile)){
$this->msg("ファイル ".$buildfile." は有効なグラフィック ファイルではありません! nn システムはファイルのサムネイルを生成できません!");
false を返します;
}
$data = getimagesize($buildfile); スイッチ($data[2]){
ケース 1:
$im = @imagecreatefromgif($buildfile); 休憩
ケース 2:
$im = @imagecreatefromjpeg($buildfile); 休憩
ケース 3:
$im = @imagecreatefrompng($buildfile); 休憩
}
If(!$im){
false を返します;
}
他{
$srcw = imagex($im) # 元の画像の幅を取得します;
$srch = imagey($im) # 元の画像の高さを取得します;
$dstx = 0; $dsty = 0;
if($file_height==0){
$file_height = $file_width/$srcw*$srch;
}

if ($srcw*$file_height>$srch*$file_width){
$ffile_height =round($srch*$file_width/$srcw); $dsty = フロア(($ファイルの高さ-$fファイルの高さ)/2); $ffile_width = $file_width
}
他 {
$ffile_width =round($srcw*$file_height/$srch); $dstx = フロア(($file_width-$ffile_width)/2); $ffile_height = $file_height
}
$ni = imagecreatetruecolor($file_width,$file_height); $dstx = ($dstx $dstx = ($dstx>($file_width/2))?floor($file_width/2):$dstx; $dsty = ($dsty>($file_height/2))?floor($file_height/s):$dsty; imagecopyresize($ni,$im,$dstx,$dsty,0,0,$ffile_width,$ffile_height,$srcw,$srch);
Imagejpeg($ni,$newfile,$rate); # サムネイルを生成します。 imagedestroy($im); # imagedestroy(resource) 画像に関連付けられたメモリを解放します
}
}

}
?>







http://www.bkjia.com/PHPjc/633037.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/633037.html


技術記事

PHP チュートリアルはサムネイル ファイルのアップロード コードの生成をサポートしていますか? !doctype html public -//w3c//dtd xhtml 1.0 transitional//en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd html xmlns =て...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。