検索
PHP実践コード集Jun 13, 2016 pm 12:19 PM
phpコード作成する言葉できる実用的意思集める辞書読むランダム

1. 読み取り可能なランダム文字列

このコードは、辞書の単語に近い、実用的でパスワード検証機能を備えた読み取り可能な文字列を作成します。

コードをコピーします コードは次のとおりです:


/**************
*@length - ランダムな文字列の長さ (2 の倍数である必要があります)
**************/
function 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. string

読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用して、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成します。



コードをコピーします

コードは次のとおりです: /*************

*@l - ランダムな文字列の長さ

*/
function generated_rand($ l){
$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0; $i$rand .= $c[rand()%strlen($c)];
}
return $rand;


3. >
このコードを使用すると、任意の電子メール アドレスを 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);

$part1 = '< ;a href="ma';
$part2 = 'ilto:';
$part3 = '" '.$part4 = ' >' ;

$encoded = '' ;

return $encoded;


4. 電子メール検証はおそらく最も一般的に使用される Web フォーム検証です。電子メール アドレスの検証に加えて、電子メール ドメインの DNS 内の MX レコードをチェックして、電子メール検証機能をより強力にすることもできます。



コードをコピー

コードは次のとおりです:

function is_valid_email($email, $test_mx = false)
{
if(エレギ("^([_a-z0-9-] )(.[_a-z0-9-] )*@([a-z0-9-] )(.[a-z0-9 -] ) *(.[a-z]{2,4})$", $email))
if($test_mx)
{

list($username, $domain) = split("@ ", $ email); return getmxrr($domain, $mxrecords); } else return true;

else

return false;
}


5. ディレクトリの内容をリストします



コードをコピーします

コードは次のとおりです:


function list_files($ dir)
{

if(is_dir($dir))
{
if($handle = opendir($dir))

{ while(($file = readdir( $handle)) ! == false) { if($file != "." && $file != ".." && $file != "Thumbs.db") {

echo '< ;a target="_blank" href="'.$dir.$file.'">'.$file.'
'."n"; >}

}
closedir($handle);
}
}
}


6. ディレクトリを削除します。その内容も含めて。



コードをコピー

コードは次のとおりです:


/*****
*@dir - 破棄するディレクトリ
*@virtual[オプション] - 仮想ディレクトリかどうか
*/
function destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR
$dir = $virtual ? ($dir) : $dir;
$dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) :
if (is_dir($dir; ) && $handle = opendir($dir))
{
while ($file = readdir($handle))
{
if ($file == '.' || $file = = '..')
{
続行;
}
elseif (is_dir($dir.$ds.$file))
{
destroyDir($dir.$ds) .$file);
}
{
unlink($dir.$ds.$file);
}
}
closedir($handle); 🎜>rmdir($dir);
true を返す
}
else
{
false を返す
}
7 . 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. XML データを解析します。
コードをコピーします

コードは次のとおりです。



//xml 文字列

$xml_string=" Foo foo@bar.com > Foobar

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. ログの略語を作成します

使いやすいログの略語を作成します。



コードをコピー

コードは次のとおりです:


function create_slug($string){
$slug=preg_replace( '/[ ^A-Za-z0-9-] /', '-', $string);
return $slug;



10. IP アドレス

この関数は、プロキシ サーバーを使用している場合でも、ユーザーの実際の IP アドレスを取得します。

コードをコピー

コードは次のとおりです。



function 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'];

} else { $ip=$_SERVER[ 'REMOTE_ADDR' ]; }

return $ip;

}


11. 必須のファイルダウンロード機能をユーザーに提供します。



コードをコピーします

コードは次のとおりです:


/********************
*@file - ファイルへのパス
*/
function Force_download($ file)
{
if ((isset($file))&&(file_exists($file))) {
header("Content-length: ".filesize($file)); header(' Content-Type: application/octet-stream');

header('Content-Disposition:attachment; filename="' . $file . '"');
readfile("$file"); ;
} else {
echo "ファイルが選択されていません"
}

} 12. タグクラウドを作成します


コードをコピー

コードは次のとおりです:


function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )
{
$minimumCount = min( array_values( $data ) );
$maximumCount = max( array_values( $data ) );
$spread = $maximumCount - $minimumCount;
$cloudHTML = '';
$cloudTags = array();

$spread == 0 && $spread = 1;

foreach( $data as $tag => $count )
{
$size = $minFontSize ( $count - $minimumCount )
* ( $maxFontSize - $minFontSize ) / $スプレッド;
$cloudTags[] = '' のカウントを返しました。
。 htmlspecialchars( ストリップスラッシュ( $tag ) ) 。 '
';
}

return join( "n", $cloudTags ) 。 「ん」;
}
/**************************
**** 使用例 ***/
$arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43、
'ぼかし' => 33、'カラーパレット' => 🎜>'デリミタ' => 13、'深さ' => 8、'暗号化' => 30、
'抽出' => ; 28、「フィルター」 => 42);
echo getCloud($arr, 12, 36);

13. 2 つの文字列の類似性

PHP には、使用頻度が非常に低い類似テキスト関数が用意されていますが、この関数は 2 つの文字列を比較し、類似した程度の百分率を返すために非常に役立ちます。 >

复制代码

代码如下: similar_text($string1, $string2, $percent);

//$percent には類似性のパーセンテージ



14 が含まれます。 Gravatar の共通イメージ

は、WordPress の普及に伴い、アプリケーション プログラムで使用されるようになりました。 >


复制代

代码如下: /****************** *@email - グラバターを表示するメール アドレス

*@size - グラバターのサイズ

*@default - デフォルトのグラバターの URL
*@rated - Gravatar(G, PG, R, X) の評価
を使用します*/
function show_gravatar($email, $size, $default, $評価)
{
echo 'PHP実践コード集height="'.$size.'px" / >';
}


15. 文字区切り点で区切り文字

によって指定された区切り文字 (単語区切り)、つまり実行時に 1 つの命令が区切られる可能性があります。この関数は区切り文字列に配置されます。 >


复制代码

代码如下:

// Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au // ご了承くださいこのコードを使用するには、このヘッダーを含めます。 function myTruncate($string, $limit, $break=".", $pad="...") { // string が $limit より短い場合は変更せずに戻ります

if( strlen($string) return $string;

// $limit と文字列の終わりの間に $break は存在しますか?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint $string = substr($string, 0, $breakpoint) 。 $パッド;
}
}
$string を返します。
}
/***** 例 ****/
$short_string=myTruncate($long_string, 100, ' ');


16. 文件 Zip 压缩



复制代
代码如下:


/* 圧縮 zip ファイルを作成します */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//zip ファイルが既に作成されている場合存在し、上書きが false の場合、false を返します。
if(file_exists($destination) && !$overwrite) { return false; }
//vars
$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) {
return false;
}
// ファイルを追加します
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//debug
//echo 'zip アーカイブには、ステータス ',$zip->status の ',$zip->numFiles' ファイルが含まれています。

//ジッパーを閉じてください -- 完了です。
$zip->close();

//ファイルが存在することを確認します
return file_exists($destination);
}
else
{
return false;
}
}
/***** 使用例 ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);


17. 解压缩 Zip 文件

复制代代码如下:


/**********************
*@file - zip ファイルへのパス
*@destination - 解凍されたファイルの宛先ディレクトリ
*/
function unzip_file( $file, $destination){
// オブジェクトを作成
$zip = new ZipArchive() ;
// アーカイブを開きます
if ($zip->open($file) !== TRUE) {
die ('アーカイブを開けませんでした');
}
// コンテンツを宛先ディレクトリに抽出します
$zip->extractTo($destination);
// アーカイブを閉じる
$zip->close();
echo 'アーカイブをディレクトリに抽出';
}


18. URL アドレスとして http 文字列

を設定するには、一部の表内のネットワーク アクセスを受け入れる必要がありますが、ユーザーは http:// フィールドを追加する必要があり、このコードはこのフィールドを追加します。

复制代码代码如下:


if (!preg_match("/^(http|ftp):/", $_POST['url'] )) {
$_POST['url'] = 'http://'.$_POST['url'];
}


19. ウェブサイトの文字列を超級接続に変換します

この関数は、URL と電子メールの地名文字列を可用性ポイントの超級接続に変換します。

代码如下:

function 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. 画像サイズの調整

は画像の略図の作成に時間がかかりますが、このコードは略図の理解に役立ちます。以下のように:

/********************** *@filename - 画像へのパス *@tmpname - サムネイルへの一時パス *@xmax - 最大値幅 *@ymax - 最大高さ

*/

function raise_image($filename, $tmpname, $xmax, $ymax)
{
$ext =explode(" .", $ファイル名);
$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;
}
else {
$newy = $ymax;
$newx = $x / $y * $newy;
}

$im2 = imagecreatetruecolor($newx, $newy);
imagecopyresize($im2, $im, 0, 0, 0, 0, Floor($newx), Floor($newy), $x, $y);
$im2 を返す;
}


21. 检测 Ajax 要求

jQuery、Mootools などの大部分の JavaScript フレーム、Ajax 要求の発行時に、外部の HTTP_X_REQUESTED_WITH 部分情報を送信します。侦测


代打

代打次のように:


if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
//AJAX リクエストの場合
} else{
//何か他の
}

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

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。