Heim  >  Artikel  >  Backend-Entwicklung  >  11个php日惯用的小tips 代码片段

11个php日惯用的小tips 代码片段

WBOY
WBOYOriginal
2016-06-13 11:45:22887Durchsuche

11个php日常用的小tips 代码片段
http://www.phpzag.com/11-useful-code-snippets-for-php-developers/

简单小结下


1 用php的内置csv函数可以很方便生成CSV了,
 

function generateCsv($data, $delimiter = ',', $enclosure = '"') {   $handle = fopen('php://temp', 'r+');   foreach ($data as $line) {		   fputcsv($handle, $line, $delimiter, $enclosure);   }   rewind($handle);   while (!feof($handle)) {		   $contents .= fread($handle, 8192);   }   fclose($handle);   return $contents;}

使用方法:
$data = array( array(1, 2, 4), array('test string', 'test, literal, comma', 'test literal "quotes"'), );echo generateCsv($data);



2 过滤非法输入
 
<?php function sanitize_input_data($input_data) { $input_data = trim(htmlentities(strip_tags($input_data,“,”))); if (get_magic_quotes_gpc()) $input_data = stripslashes($input_data); .$input_data = mysql_real_escape_string($input_data); return $input_data; } ?>


使用:
<?php $bad_string = “Hi! <script src=’http://www.evilssite.com/bad_script.js’></script> It’s a good day!”; $good_string = sanitize_input_data($bad_string); //OUTPUT:: Hi! It\’s a good day! ?> 



3 unzip文件
  php内置了unzip
function unzip_file($file, $destination){	// create object	$zip = new ZipArchive() ;	// open archive	if ($zip->open($file) !== TRUE) {		die (’Could not open archive’);	}	// extract contents to destination directory	$zip->extractTo($destination);	// close archive	$zip->close();	echo 'Archive extracted to directory';}


4 使用 get_meta_tags获取某个网页的meta关键字
  
$meta = get_meta_tags('http://www.emoticode.net/');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = array_map( 'trim', $keywords );// Remove empty values$keywords = array_filter( $keywords );print_r( $keywords );


5 判断服务器是否https
 
if ($_SERVER['HTTPS'] != "on") { 	echo "This is not HTTPS";}else{	echo "This is HTTPS";}


6
显示某个网页的所有源代码
  
$lines = file('http://google.com/');foreach ($lines as $line_num => $line) { 	// loop thru each line and prepend line numbers	echo "Line #{$line_num} : " . htmlspecialchars($line) . "\n";}


7 使用datauri是很方便把图片等搞成base64的,代码如下:
 
function data_uri($file, $mime) {  $contents=file_get_contents($file);  $base64=base64_encode($contents);  echo "data:$mime;base64,$base64";}

 

8 获得某个网页的所有连接
$html = file_get_contents('http://www.example.com');$dom = new DOMDocument();@$dom->loadHTML($html);// grab all the on the page$xpath = new DOMXPath($dom);$hrefs = $xpath->evaluate("/html/body//a");for ($i = 0; $i < $hrefs->length; $i++) {       $href = $hrefs->item($i);       $url = $href->getAttribute('href');       echo $url.'';}


9
让页面的题目变得对于SEO来说更友善 ,
function make_seo_name($title) {	return preg_replace('/[^a-z0-9_-]/i', '', strtolower(str_replace(' ', '-', trim($title))));}


比如有个标题:
"This foo's bar is rockin' cool!";
则输出为:
this-foos-bar-is-rockin-cool

10
下载某个网页上的图片再放到自己的服务器中
 
$image = file_get_contents('http://www.url.com/image.jpg');file_put_contents('/images/image.jpg', $image); 


11 页面上显示自己facebook的好友数目(对国人来说没啥用)
function fb_fan_count($facebook_name){    $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name));    echo $data->likes;}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn