- 相關(guān)推薦
實(shí)用的PHP語言實(shí)例代碼
學(xué)習(xí)PHP語言,應(yīng)該多看一些實(shí)例代碼,下面小編為大家?guī)砹藢?shí)用的PHP語言實(shí)例代碼,歡迎大家閱讀!
實(shí)用的PHP語言實(shí)例代碼
1. PHP可閱讀隨機(jī)字符串
此代碼將創(chuàng)建一個(gè)可閱讀的字符串,使其更接近詞典中的單詞,實(shí)用且具有密碼驗(yàn)證功能。
/**************
*@length - length of random string (must be a multiple of 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<=$max; $i++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return $password;
}
2. PHP生成一個(gè)隨機(jī)字符串
如果不需要可閱讀的字符串,使用此函數(shù)替代,即可創(chuàng)建一個(gè)隨機(jī)字符串,作為用戶的隨機(jī)密碼等。
/*************
*@l - length of random string
*/
function generate_rand($l){
$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0; $i<$l; $i++) {
$rand.= $c[rand()%strlen($c)];
}
return $rand;
}
3. PHP編碼電子郵件地址
使用此代碼,可以將任何電子郵件地址編碼為 html 字符實(shí)體,以防止被垃圾郵件程序收集。
function encode_email($email=’info@domain.com’, $linkText=’Contact Us’, $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驗(yàn)證郵件地址
電子郵件驗(yàn)證也許是中最常用的網(wǎng)頁表單驗(yàn)證,此代碼除了驗(yàn)證電子郵件地址,也可以選擇檢查郵件域所屬 DNS 中的. MX 記錄,使郵件驗(yàn)證功能更加強(qiáng)大。
function is_valid_email($email, $test_mx = false)
{
if(eregi("^([_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. PHP列出目錄內(nèi)容
function 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";
}
}
closedir($handle);
}
}
}
6. PHP銷毀目錄
刪除一個(gè)目錄,包括它的內(nèi)容。
/*****
*@dir - Directory to destroy
*@virtual[optional]- whether a virtual directory
*/
function destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR;
$dir = $virtual ? realpath($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 == ’..’)
{
continue;
}
elseif (is_dir($dir.$ds.$file))
{
destroyDir($dir.$ds.$file);
}
else
{
unlink($dir.$ds.$file);
}
}
closedir($handle);
rmdir($dir);
return true;
}
else
{
return false;
}
}
7. PHP解析 JSON 數(shù)據(jù)
與大多數(shù)流行的 Web 服務(wù)如 twitter 通過開放 API 來提供數(shù)據(jù)一樣,它總是能夠知道如何解析 API 數(shù)據(jù)的各種傳送格式,包括 JSON,XML 等等。
$json_string=’{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ’;
$obj=json_decode($json_string);
echo $obj->name; //prints foo
echo $obj->interest[1]; //prints php
8. PHP解析 XML 數(shù)據(jù)
//xml string
$xml_string="
Foo
foo@bar.com
Foobar
foobar@foo.com
";
//load the xml string using simplexml
$xml = simplexml_load_string($xml_string);
//loop through the each node of user
foreach ($xml->user as $user)
{
//access attribute
echo $user[’id’], ’ ’;
//subnodes are accessed by -> operator
echo $user->name, ’ ’;
echo $user->email, ’
’;
}
9. PHP創(chuàng)建日志縮略名
創(chuàng)建用戶友好的日志縮略名。
function create_slug($string){
$slug=preg_replace(’/[^A-Za-z0-9-]+/’, ’-’, $string);
return $slug;
}
10. PHP獲取客戶端真實(shí) IP 地址
該函數(shù)將獲取用戶的真實(shí) IP 地址,即便他使用代理服務(wù)器。
function getRealIpAddr()
{
if (!emptyempty($_SERVER[’HTTP_CLIENT_IP’]))
{
$ip=$_SERVER[’HTTP_CLIENT_IP’];
}
elseif (!emptyempty($_SERVER[’HTTP_X_FORWARDED_FOR’]))
//to check ip is pass from proxy
{
$ip=$_SERVER[’HTTP_X_FORWARDED_FOR’];
}
else
{
$ip=$_SERVER[’REMOTE_ADDR’];
}
return $ip;
}
【PHP語言實(shí)例代碼】相關(guān)文章:
PHP實(shí)用的代碼實(shí)例08-12
實(shí)用的PHP實(shí)例代碼20個(gè)06-11
PHP中檢測ajax請(qǐng)求的代碼實(shí)例10-25
php生成sitemap.xml的實(shí)例代碼06-02
php語言字典代碼06-08
php中使用redis隊(duì)列操作實(shí)例代碼05-16
php獲取新浪微博數(shù)據(jù)API的實(shí)例代碼08-06
PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼實(shí)例08-05
C語言快速排序?qū)嵗a06-04
php畫圖實(shí)例07-16