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

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

WBOY
Freigeben: 2016-06-13 11:45:22
Original
973 Leute haben es durchsucht

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;}
Nach dem Login kopieren

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



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; } ?>
Nach dem Login kopieren


使用:
<?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! ?> 
Nach dem Login kopieren



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';}
Nach dem Login kopieren


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 );
Nach dem Login kopieren


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


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";}
Nach dem Login kopieren


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



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.'';}
Nach dem Login kopieren


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


比如有个标题:
"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); 
Nach dem Login kopieren


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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage