Heim Backend-Entwicklung PHP-Tutorial 直接拿来用 10个PHP代码片段_PHP

直接拿来用 10个PHP代码片段_PHP

Jun 01, 2016 pm 12:04 PM
php 代码片段

  PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。PHP拥有数以百计的基本功能,支持上千种扩展。这些功能都被很好的加载在PHP站点上,但内置的库有各种各样的命名。在PHP代码库中包含了无数个有用的PHP代码片段,每位开发者都需要不断完善自己的“工具箱”。有了这些代码片段可以为你节省大量的时间,一起来看下。

直接拿来用 10个PHP代码片段_PHP

  1.查找Longitudes与Latitudes之间的距离

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
    $theta = $longitude1 - $longitude2;
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
    $miles = acos($miles);
    $miles = rad2deg($miles);
    $miles = $miles * 60 * 1.1515;
    $feet = $miles * 5280;
    $yards = $feet / 3;
    $kilometers = $miles * 1.609344;
    $meters = $kilometers * 1000;
    return compact('miles','feet','yards','kilometers','meters'); 
}

$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
    echo $unit.': '.number_format($value,4).'
';
}

The example returns the following:

miles: 2.6025
feet: 13,741.4350
yards: 4,580.4783
kilometers: 4.1884
meters: 4,188.3894
Nach dem Login kopieren

  源码

  2.完善cURL功能

function xcurl($url,$ref=null,$post=array(),$ua="Mozilla/5.0 (X11; Linux x86_64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre",$print=false) {
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_AUTOREFERER, true);
	if(!empty($ref)) {
		curl_setopt($ch, CURLOPT_REFERER, $ref);
	}
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	if(!empty($ua)) {
		curl_setopt($ch, CURLOPT_USERAGENT, $ua);
	}
	if(count($post) > 0){
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $post);	
	}
	$output = curl_exec($ch);
	curl_close($ch);
	if($print) {
		print($output);
	} else {
		return $output;
	}
}
Nach dem Login kopieren

  源码

  3.清理用户输入

]*?>.*?@si',   // Strip out javascript
    &#39;@<[\/\!]*?[^<>]*?>@si&#39;,            // Strip out HTML tags
    &#39;@]*?>.*?@siU&#39;,    // Strip style tags properly
    &#39;@@&#39;         // Strip multi-line comments
  );

    $output = preg_replace($search, &#39;&#39;, $input);
    return $output;
  }
?>
$val) {
            $output[$var] = sanitize($val);
        }
    }
    else {
        if (get_magic_quotes_gpc()) {
            $input = stripslashes($input);
        }
        $input  = cleanInput($input);
        $output = mysql_real_escape_string($input);
    }
    return $output;
}
?>
Nach dem Login kopieren

  源码

  4.通过IP(城市、国家)检测地理位置

function detect_city($ip) {

        $default = &#39;Hollywood, CA&#39;;

        if (!is_string($ip) || strlen($ip) < 1 || $ip == &#39;127.0.0.1&#39; || $ip == &#39;localhost&#39;)             $ip = &#39;8.8.8.8&#39;;           $curlopt_useragent = &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)&#39;;           $url = &#39;http://ipinfodb.com/ip_locator.php?ip=&#39; . urlencode($ip);         $ch = curl_init();           $curl_opt = array(             CURLOPT_FOLLOWLOCATION  => 1,
            CURLOPT_HEADER      => 0,
            CURLOPT_RETURNTRANSFER  => 1,
            CURLOPT_USERAGENT   => $curlopt_useragent,
            CURLOPT_URL       => $url,
            CURLOPT_TIMEOUT         => 1,
            CURLOPT_REFERER         => &#39;http://&#39; . $_SERVER[&#39;HTTP_HOST&#39;],
        );

        curl_setopt_array($ch, $curl_opt);

        $content = curl_exec($ch);

        if (!is_null($curl_info)) {
            $curl_info = curl_getinfo($ch);
        }

        curl_close($ch);

        if ( preg_match(&#39;{

	
City : ([^<]*)
}i&#39;, $content, $regs) ) { $city = $regs[1]; } if ( preg_match(&#39;{
	
State/Province : ([^<]*)

}i&#39;, $content, $regs) ) { $state = $regs[1]; } if( $city!=&#39;&#39; && $state!=&#39;&#39; ){ $location = $city . &#39;, &#39; . $state; return $location; }else{ return $default; } }
Nach dem Login kopieren

  源码

  5.设置密码强度

 100){ 
        $strength = 100; 
    } 
    return $strength; 
} 

var_dump(password_strength("Correct Horse Battery Staple")); 
echo "
"; 
var_dump(password_strength("Super Monkey Ball")); 
echo "
"; 
var_dump(password_strength("Tr0ub4dor&3")); 
echo "
"; 
var_dump(password_strength("abc123")); 
echo "
"; 
var_dump(password_strength("sweet"));
Nach dem Login kopieren

  源码

  6.检测浏览器语言,只提供可用的$availableLanguages作为数组(‘en’, ‘de’, ‘es’)

function get_client_language($availableLanguages, $default=&#39;en&#39;){
	
	if (isset($_SERVER[&#39;HTTP_ACCEPT_LANGUAGE&#39;])) {
			
		$langs=explode(&#39;,&#39;,$_SERVER[&#39;HTTP_ACCEPT_LANGUAGE&#39;]);

		//start going through each one
		foreach ($langs as $value){
	
			$choice=substr($value,0,2);
			if(in_array($choice, $availableLanguages)){
				return $choice;
				
			}
			
		}
	} 
	return $default;
}
Nach dem Login kopieren

  源码

  7.创建数据URL

function data_uri($file, $mime) {
  $contents=file_get_contents($file);
  $base64=base64_encode($contents);
  echo "data:$mime;base64,$base64";
}
Nach dem Login kopieren

  源码

  8.创建更加友好的页面标题SEO URL

输入示例:$title = “This foo’s bar is rockin’ cool!”; echo makeseoname($title); //RETURNS: //this-foos-bar-is-rockin-cool

function make_seo_name($title) {
	return preg_replace(&#39;/[^a-z0-9_-]/i&#39;, &#39;&#39;, strtolower(str_replace(&#39; &#39;, &#39;-&#39;, trim($title))));
}
Nach dem Login kopieren

  源码

  9.终极加密功能

// f(ucking) u(ncrackable) e(ncryption) function by BlackHatDBL (www.netforme.net)
function fue($hash,$times) {
	// Execute the encryption(s) as many times as the user wants
	for($i=$times;$i>0;$i--) {
		// Encode with base64...
		$hash=base64_encode($hash);
		// and md5...
		$hash=md5($hash);
		// sha1...
		$hash=sha1($hash);
		// sha256... (one more)
		$hash=hash("sha256", $hash);
		// sha512
		$hash=hash("sha512", $hash);

	}
	// Finaly, when done, return the value
	return $hash;
}
Nach dem Login kopieren

  源码

  10a.Tweeter Feed Runner——使用任意twitter名,可在任意页面上加载用户资源。

pversion; 
    } 
    public function loadTimeline($user, $max = 20){ 
        $this->twitURL .= &#39;statuses/user_timeline.xml?screen_name=&#39;.$user.&#39;&count=&#39;.$max; 
        $ch        = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $this->twitURL); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
        $this->xml = curl_exec($ch); 
        return $this; 
    } 
    public function getTweets(){ 
        $this->twitterArr = $this->getTimelineArray(); 
        $tweets = array(); 
        foreach($this->twitterArr->status as $status){ 
            $tweets[$status->created_at->__toString()] = $status->text->__toString(); 
        } 
        return $tweets; 
    } 
    public function getTimelineArray(){ 
        return simplexml_load_string($this->xml); 
    } 
    public function formatTweet($tweet){ 
        $tweet = preg_replace("/(http(.+?))( |$)/","$1$3", $tweet); 
        $tweet = preg_replace("/#(.+?)(\h|\W|$)/", "#$1$2", $tweet); 
        $tweet = preg_replace("/@(.+?)(\h|\W|$)/", "@$1$2", $tweet); 
        return $tweet; 
    } 
}
Nach dem Login kopieren

  10b. Tweeter Feed Runner——用于在主题中创建文件,比如:example.php

loadTimeline("phpsnips")->getTweets(); 
foreach($feed as $time => $message){ 
    echo "<div class=&#39;tweet&#39;>".$twitter->formatTweet($message)."<br />At: ".$time."</div>"; 
}
Nach dem Login kopieren

  源码

  英文出自:Codegeekz

  

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

See all articles