Home > Backend Development > PHP Tutorial > 11个php日惯用的小tips 代码片段

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

WBOY
Release: 2016-06-13 11:45:22
Original
975 people have browsed it

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;}
Copy after login

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



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; } ?>
Copy after login


使用:
<?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! ?> 
Copy after login



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';}
Copy after login


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 );
Copy after login


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


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";}
Copy after login


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



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.'';}
Copy after login


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


比如有个标题:
"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); 
Copy after login


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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template