1. PHP はランダムな文字列を読み取ることができます
このコードは、辞書の単語に近い、実用的でパスワード検証機能を備えた可読文字列を作成します。
/**************
*@length - ランダムな文字列の長さ (2 の倍数である必要があります)
**************/
関数 readable_random_string($length = 6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m"、"n"、"p"、"r"、"s"、"t"、"v"、"w"、"x"、"y"、"z");
$vocal=array("a","e","i","o","u");
$パスワード=""
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return $password;
}
2. PHP はランダムな文字列を生成します
読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用して、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成します。
/*************
*@l - ランダムな文字列の長さ
*/
関数generate_rand($l){
$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0; $i
$rand.= $c[rand()%strlen($c)];
}
$ランドを返す
}
3. PHP でエンコードされたメールアドレス
このコードを使用すると、任意の電子メール アドレスを HTML 文字エンティティとしてエンコードして、スパム プログラムによって収集されるのを防ぐことができます。
Function encode_email($email='info@domain.com', $linkText='お問い合わせ', $attrs ='class="emailencoder"' )
{
// remplazar aroba y puntos
$email = str_replace('@', '@', $email);
$email = str_replace('.', '.', $email);
$email = str_split($email, 5);
$linkText = str_replace('@', '@', $linkText);
$linkText = str_replace('.', '.', $linkText);
$linkText = str_split($linkText, 5);
$part1 = '
$part4 = '';
$encoded = '';
return $encoded;
}
4. PHP 認証メールアドレス
電子メール検証は、おそらく中国で最も一般的に使用されている Web フォーム検証です。電子メール アドレスの検証に加えて、このコードは電子メール ドメインが属する DNS の MX レコードをチェックすることも選択でき、電子メール検証機能がより強力になります。
関数 is_valid_email($email, $test_mx = false)
{
if(エレギ("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9 -]+)*(.[a-z]{2,4}){1}quot;, $email))
if($test_mx)
list($username, $domain) = split("@", $email);
return getmxrr($domain, $mxrecords);
それ以外
trueを返します。
それ以外
false を返す;
}
5. PHP はディレクトリの内容をリストします
関数 list_files($dir)
{
If(is_dir($dir))
If($handle = opendir($dir))
while(($file = readdir($handle)) !== false)
If($file != "." && $file != ".." && $file != "Thumbs.db")
''.$file.'
'."n";
closeir($handle);
}
}
6. PHP はディレクトリを破棄します
ディレクトリをその内容も含めて削除します。
/*****
*@dir - 破棄するディレクトリ
*@virtual[オプション] - 仮想ディレクトリかどうか
*/
関数 destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR
;
$dir = $virtual ? : $dir;
$dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;
If (is_dir($dir) && $handle = opendir($dir))
while ($file = readdir($handle))
If ($file == '.' || $file == '..')
続く;
elseif (is_dir($dir.$ds.$file))
destroyDir($dir.$ds.$file);
それ以外
リンクを解除します ($ dir. $ Ds. $ File);
closedir($handle);
rmdir($dir);
true を返す;
}
それ以外
false を返す;
}
}
7. PHP は JSON データを解析します
Twitter などの最も一般的な Web サービスはオープン API を通じてデータを提供するため、JSON、XML などのさまざまな配信形式で API データを解析する方法を常に認識しています。
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name // foo を出力します
echo $obj->interest[1] //php を出力します
;
8. PHP は XML データを解析します
//xml文字列
$xml_string="
<ユーザーID='398'>
<電子メール>foo@bar.com
ユーザー>
<ユーザーID='867'>
<電子メール>foobar@foo.com
ユーザー>
";
// simplexml を使用して XML 文字列をロードします
$xml = simplexml_load_string($xml_string);
// ユーザーの各ノードをループします
foreach ($xml->user as $user)
{
//アクセス属性
echo $user['id'], ' ';
// サブノードには -> によってアクセスされます。オペレーター
echo $user->name, ' ';
echo $user->email, '
';
}
9. PHP创建日志缩略名
ユーザー歓迎の日志缩略名を作成しました。
関数 create_slug($string){
$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
$slug を返します。
}
10. PHP获取客户端真实 IP地址
この関数は、ユーザーの実際の IP アドレスを取得します。つまり、プロキシ サーバーを使用します。
関数 getRealIpAddr()
{
if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
// IP がプロキシから渡されたことを確認するため
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
その他
{
$ip=$_SERVER['REMOTE_ADDR'];
}
$ip を返します。
}
11. PHP强制性文件ダウンロード
ユーザーに安全性を提供するためのファイルのダウンロード機能。
/********************
*@file - ファイルへのパス
*/
関数force_download($file)
{
if ((isset($file))&&(file_exists($file))) {
header("コンテンツの長さ: ".filesize($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="' . $file . '"');
readfile("$file");
} その他 {
echo "ファイルが選択されていません";
}
}
12. PHP创建标签云
function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )
{
$minimumCount = min( array_values( $data ) );
$maximumCount = max( array_values( $data ) );
$spread = $maximumCount - $minimumCount;
$cloudHTML = '';
$cloudTags = 配列();
$spread == 0 && $spread = 1;
foreach( $data as $tag => $count )
{
$size = $minFontSize + ( $count - $minimumCount )
* ( $maxFontSize - $minFontSize ) / $spread;
$cloudTags[] = '
}
/**************************
**** 使用例 ***/
$arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43,
「ぼかし」=> 18、'キャンバス' => 33、「クラス」=> 15、「カラーパレット」=> 11、「クロップ」 => 42、
'区切り文字' => 13、「深さ」 => 34、「デザイン」 => 8、「エンコード」 => 12、「暗号化」 => 30、
'抽出' => 28、「フィルター」 => 42);
エコー getCloud($arr, 12, 36);
13. PHP寻找二文字列の類似性
PHP には、あまり使用されない類似テキスト関数が用意されていますが、この関数は、2 つの文字列を比較し、同程度の百分率を返すのに非常に役立ちます。
同様のテキスト($string1, $string2, $percent);
//$percent には類似性のパーセンテージが入ります
14. PHP では Gravatar を使用する汎用画像
Gravatar は使いやすい API を提供するため、アプリケーション プログラムへの組み込みも非常に便利です。
/*******************
*@email -
のグラバターを表示するメール アドレス
*@size - グラバターのサイズ
*@default - 使用するデフォルトの Gravatar の URL
*@評価 - Gravatarの評価(G、PG、R、X)
*/
function show_gravatar($email, $size, $default, $評価)
{
echo '
height="'.$size.'px" />';
}
15. PHP在字断点处截断文字
区切り文字 (ワード ブレーク)、つまり、実行中に 1 つの単語が途切れる可能性がある場所。この関数は区切り文字列になります。
// Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au
// このヘッダーをインクルードすることで、このコードの使用を承認してください。
function myTruncate($string, $limit, $break=".", $pad="...") {
// 文字列が $limit より短い場合は変更せずに戻ります
if(strlen($string)
$string を返します。
// $break は $limit と文字列の終わりの間に存在しますか?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) 。 $パッド;
}
}
$string を返します。
}
/***** 例 ****/
$short_string=myTruncate($long_string, 100, ' ');
16. PHP文件Zip压缩
/* 圧縮 zip ファイルを作成します */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//zip ファイルが既に存在し、上書きが false の場合、false を返します
if(file_exists($destination) && !$overwrite) { return false; }
//vars
$valid_files = 配列();
// ファイルが渡された場合...
if(is_array($files)) {
// 各ファイルを循環的に処理します
foreach($files as $file) {
// ファイルが存在することを確認します
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
// 適切なファイルがあれば...
if(count($valid_files)) {
// アーカイブを作成します
$zip = 新しい ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
false を返します。
}
// ファイルを追加します
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//デバッグ
//echo 'zip アーカイブには、',$zip->status のステータスを持つ ',$zip->numFiles' ファイルが含まれています。
//zip を閉じます -- 完了です。
$zip->close();
// ファイルが存在することを確認します
ファイル_存在を返します($destination);
}
その他
{
false を返します。
}
}
/***** 使用例 ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);
17. PHP解压缩 Zipファイル
/**********************
*@file - zip ファイルへのパス
*@destination - 解凍されたファイルの宛先ディレクトリ
*/
関数 unzip_file($file, $destination){
// オブジェクトを作成します
$zip = 新しい ZipArchive() ;
// アーカイブを開く
if ($zip->open($file) !== TRUE) {
die (「アーカイブを開けませんでした」);
}
// コンテンツを宛先ディレクトリに抽出します
$zip->extractTo($destination);
// アーカイブを閉じる
$zip->close();
echo 'アーカイブをディレクトリに抽出しました';
}
18. PHP は URL アドレスの http 文字列をデフォルトにします
一部のフォームでは URL 入力を受け入れる必要がある場合がありますが、ユーザーが http:// フィールドを追加することはほとんどありません。このコードはそのフィールドを URL に追加します。
If (!preg_match("/^(http|ftp):/", $_POST['url'])) {
$_POST['url'] = 'http://'.$_POST['url'];
}
19. PHP は URL 文字列をハイパーリンクに変換します
この関数は、URL と電子メール アドレスの文字列をクリック可能なハイパーリンクに変換します。
関数 makeClickableLinks($text) {
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'1', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'12', $text);
$text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
'1', $text);
$text を返します。
}
20. PHP で画像サイズを調整する
画像のサムネイルの作成には時間がかかりますが、このコードはサムネイルのロジックを理解するのに役立ちます。
/**********************
*@filename - 画像へのパス
*@tmpname - サムネイルへの一時パス
*@xmax - 最大幅
*@ymax - 最大高さ
*/
関数size_image($filename, $tmpname, $xmax, $ymax)
{
$ext =explode(".", $filename);
$ext = $ext[count($ext)-1];
If($ext == "jpg" || $ext == "jpeg")
$im = imagecreatefromjpeg($tmpname);
elseif($ext == "png")
$im = imagecreatefrompng($tmpname);
elseif($ext == "gif")
$im = imagecreatefromgif($tmpname);
$x = 画像x($im);
$y = imagey($im);
If($x
return $im;
if($x >= $y) {
$newx = $xmax;
$newy = $newx * $y / $x;
}
それ以外 {
$newy = $ymax;
$newx = $x / $y * $newy;
$im2 = imagecreatetruecolor($newx, $newy);
Imagecopyresize($im2, $im, 0, 0, 0, 0, フロア($newx), フロア($newy), $x, $y);
return $im2;
}
1. PHP はランダムな文字列を読み取ることができます
このコードは、辞書の単語に近い、実用的でパスワード検証機能を備えた可読文字列を作成します。
/**************
*@length - ランダムな文字列の長さ (2 の倍数である必要があります)
**************/
関数 readable_random_string($length = 6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return $password;
}
2. PHPはランダムな文字列を生成します
読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用して、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成します。
/*************
*@l - ランダムな文字列の長さ
*/
関数generate_rand($l){
$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0; $i
$rand.= $c[rand()%strlen($c)];
}
$rand を返します;
}
3. PHPでエンコードされたメールアドレス
このコードを使用すると、任意の電子メール アドレスを HTML 文字エンティティとしてエンコードし、スパム プログラムによって収集されるのを防ぐことができます。
function encode_email($email='info@domain.com', $linkText='お問い合わせ', $attrs ='class="emailencoder"' )
{
// レンプラザ・アロバ・イ・プントス
$email = str_replace('@', '@', $email);
$email = str_replace('.', '.', $email);
$email = str_split($email, 5);
$linkText = str_replace('@', '@', $linkText);
$linkText = str_replace('.', '.', $linkText);
$linkText = str_split($linkText, 5);
$part1 = '';
$part4 = '';
$encoded = '';
$encoded を返します;
}
4. PHP验证邮件地址
電子ファイル验证も中最も常用のネットワーク表单誌证、此代評論除了验证電子邮件地址、择查邮ファイルドメイン所属DNS中的记录、邮件验证機能更多大。
関数 is_valid_email($email, $test_mx = false)
{
if(エレギ("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9 -]+)*(.[a-z]{2,4}){1}quot;, $email))
if($test_mx)
{
list($username, $domain) = split("@", $email);
return getmxrr($domain, $mxrecords);
}
それ以外
true を返します;
それ以外
false を返します;
}
5. PHP列出目录内容
関数 list_files($dir)
{
if(is_dir($dir))
{
if($handle = opendir($dir))
{
while(($file = readdir($handle)) !== false)
{
If($file != "." && $file != ".." && $file != "Thumbs.db")
{
echo ''.$file.'
'."n";
}
}
closeir($handle);
}
}
}
6. PHP ディレクトリを破棄する
ディレクトリをその内容も含めて削除します。
/*****
*@dir - 破棄するディレクトリ
*@virtual[オプション] - 仮想ディレクトリかどうか
*/
関数 destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR;
$dir = $virtualpath($dir) : $dir;
$dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;
If (is_dir($dir) && $handle = opendir($dir))
{
while ($file = readdir($handle))
{
If ($file == '.' || $file == '..')
{
続けます;
}
elseif (is_dir($dir.$ds.$file))
{
destroyDir($dir.$ds.$file);
}
その他
{
以来
}
}
Closedir($handle);
rmdir($dir);
true を返します;
}
その他
{
false を返す;
}
}
7. PHPはJSONデータを解析します
オープン API を通じてデータを提供する twitter などの最も人気のある Web サービスと同様に、JSON、XML などを含む API データのさまざまな配信形式を解析する方法を常に知っています。
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name // foo
を出力します。
echo $obj->interest[1] // php
8. PHPはXMLデータを解析します
//xml文字列
$xml_string="
<ユーザーID='398'>
<メール>foo@bar.com
ユーザー>
<ユーザーID='867'>
<メール>foobar@foo.com
ユーザー>
";
//simplexml を使用して XML 文字列をロードします
$xml = simplexml_load_string($xml_string);
// user
の各ノードをループします
foreach ($xml->user as $user)
{
//アクセス属性
echo $user['id'], ' ';
// サブノードは -> 演算子によってアクセスされます
;
echo $user->name, ' ';
echo $user->email, '
';
}
9. PHPはログの略語を作成します
使いやすいログの略語を作成します。
関数create_slug($string){
$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
$slug を返します;
}
10. PHPでクライアントの実IPアドレスを取得する
この関数は、プロキシサーバーを使用している場合でも、ユーザーの実際のIPアドレスを取得します。
関数getRealIpAddr()
{
If (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
// IP がプロキシから渡されたことを確認するため
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
その他
{
$ip=$_SERVER['REMOTE_ADDR'];
}
戻り $ip;
}
11. PHP必須ファイルダウンロード
ユーザーに必須のファイルダウンロード機能を提供します。
/********************
*@file - ファイルへのパス
*/
関数force_download($file)
{
If ((isset($file))&&(file_exists($file))) {
header("コンテンツの長さ: ".filesize($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="' . $file . '"');
Readfile("$file");
} その他 {
echo "ファイルが選択されていません";
}
}
12. PHPでタグクラウドを作成する
function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )
{
$minimumCount = min( array_values( $data ) );
$maximumCount = max( array_values( $data ) );
$spread = $maximumCount - $minimumCount;
$cloudHTML = '';
$cloudTags = 配列();
$spread == 0 && $spread = 1;
foreach( $data as $tag => $count )
{
$size = $minFontSize + ( $count - $minimumCount )
* ( $maxFontSize - $minFontSize ) / $spread;
$cloudTags[] = ''
。 htmlspecialchars( ストリップスラッシュ( $tag ) ) 。 '';
}
return join( "n", $cloudTags ) 。 「ん」;
}
/**************************
**** 使用例 ***/
$arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43,
「ぼかし」=> 18、'キャンバス' => 33、「クラス」=> 15、「カラーパレット」 => 11、「クロップ」 => 42、
'区切り文字' => 13、「深さ」 => 34、「デザイン」 => 8、「エンコード」 => 12、「暗号化」 => 30、
'抽出' => 28、「フィルター」 => 42);
echo getCloud($arr, 12, 36);
13. PHP寻找两个文字列の類似性
PHP には、あまり使用されない類似テキスト関数が用意されていますが、この関数は 2 つの文字列を比較し、同様の程度の百分率を返すために非常に役立ちます。
類似_text($string1, $string2, $percent);
//$percent には類似性のパーセンテージが入ります
14. PHP在应用程序中使用Gravatar通用头画像
WordPress が普及するにつれて、Gravatar も流行しています。Gravatar は使いやすい API を提供しているため、アプリケーション プログラムへの組み込みも非常に便利です。
/******************
*@email - グラバターを表示するメール アドレス
*@size - グラバターのサイズ
*@default - 使用するデフォルトの Gravatar の URL
*@評価 - Gravatar(G、PG、R、X)の評価
*/
function show_gravatar($email, $size, $default, $評価)
{
echo '
height="'.$size.'px" />';
}
15. PHP在字断点处截断文字
指定された区切り文字 (単語区切り)、つまり、実行中に区切られる場所。この関数は区切り文字列になります。
// Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au// このヘッダーをインクルードすることで、このコードの使用を承認してください。
function myTruncate($string, $limit, $break=".", $pad="...") {
// 文字列が $limit より短い場合は変更せずに戻ります
if(strlen($string)
$string を返します。
// $limit と文字列の終わりの間に $break は存在しますか?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) 。 $パッド;
}
}
$string を返します;
}
/***** 例 ****/
$short_string=myTruncate($long_string, 100, ' ');
16. PHP文件Zip压缩
/* 圧縮 zip ファイルを作成します */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//zip ファイルが既に存在し、上書きが false の場合は false を返します
if(file_exists($destination) && !$overwrite) { return false; }
//変数
$valid_files = array();
// ファイルが渡された場合...
if(is_array($files)) {
//各ファイルを循環して実行します
foreach($files as $file) {
// ファイルが存在することを確認してください
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
// 適切なファイルがあれば...
if(count($valid_files)) {
// アーカイブを作成します
$zip = 新しい ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
false を返します;
}
// ファイルを追加します
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//デバッグ
//echo 'zip アーカイブには、',$zip->status のステータスを持つ ',$zip->numFiles' ファイルが含まれています。
// ジッパーを閉じます -- 完了です!
$zip->close();
// ファイルが存在することを確認します
return file_exists($destination);
}
それ以外
{
false を返します;
}
}
/***** 使用例 ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);
17. PHP解压缩Zip文件
/**********************
*@file - zip ファイルへのパス
*@destination - 解凍されたファイルの宛先ディレクトリ
*/
関数 unzip_file($file, $destination){
// オブジェクトを作成します
$zip = 新しい ZipArchive() ;
// アーカイブを開く
if ($zip->open($file) !== TRUE) {
die (「アーカイブを開けませんでした」);
}
// コンテンツを宛先ディレクトリに抽出します
$zip->extractTo($destination);
// アーカイブを閉じる
$zip->close();
echo 'アーカイブをディレクトリに抽出';
}
18. PHP は URL 地址预设 http 字符串
場合によっては、いくつかの表内のネットワーク アクセスを受け入れる必要がありますが、ユーザーは http:// フィールドを追加する必要はなく、このコードがそのフィールドを追加するネットワークになります。
if (!preg_match("/^(http|ftp):/", $_POST['url'])) {
$_POST['url'] = 'http://'.$_POST['url'];
}
19. PHP将网址字符串转换成超级链接
この関数は、URL と電子メールのアドレス文字列を可用性の超級接続に変換します。
関数 makeClickableLinks($text) {
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'1', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'12', $text);
$text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
'1', $text);
$text を返します;
}
20. PHP调整图像尺寸
画像の略図の作成には時間がかかりますが、このコードは略図の理解に役立ちます。
/**********************
*@filename - 画像へのパス
*@tmpname - サムネイルへの一時パス
*@xmax - 最大幅
*@ymax - 最大高さ
*/
関数size_image($filename, $tmpname, $xmax, $ymax)
{
$ext =explode(".", $filename);
$ext = $ext[カウント($ext)-1];
if($ext == "jpg" || $ext == "jpeg")
$im = imagecreatefromjpeg($tmpname);
elseif($ext == "png")
$im = imagecreatefrompng($tmpname);
elseif($ext == "gif")
$im = imagecreatefromgif($tmpname);
$x = 画像x($im);
$y = 画像sy($im);
if($x
$im を返します。
if($x >= $y) {
$newx = $xmax;
$newy = $newx * $y / $x;
}
他に{
$newy = $ymax;
$newx = $x / $y * $newy;
}
$im2 = imagecreatetruecolor($newx, $newy);
imagecopyresize($im2, $im, 0, 0, 0, 0, フロア($newx), フロア($newy), $x, $y);
$im2 を返します;
}
摘自chaojie2009的专栏