6 useful code snippets in PHP
Editor to share with you 6 useful code snippets in PHP, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
First, blacklist filtering
Function is_spam ($text, $file, $split =':', $regex = false) {$handle = fopen ($file, 'rb'); $contents = fread ($handle, filesize ($file)); fclose ($handle); $lines = explode ("n", $contents); $arr = array (); foreach ($lines as $line) {list ($word, $count) = explode ($split, $line); if ($regex) $arr [$word] = $count; else $arr [Preg _ count; else] = $quote } preg_match_all ("~" .implode ('|, array_keys ($arr)). "~", $text, $matches); $temp = array (); foreach ($matches [0] as $match) {if (! in_array ($match, $temp)) {$temp [$match] = $temp [$match] + 1; if ($temp [$match] > = $arr [$word]) return true;} return false;} $file = 'spam.txt'; $str =' This string has cat, dog word' If (is_spam ($str, $file)) echo 'this is spam'; else echo' this is not spam'; ab:3 dog:3 cat:2 monkey:2
Random color generator
Function randomColor () {$str ='#'; for ($I = 0; $I
< 6 ; $i++) { $randNum = rand(0 , 15); switch ($randNum) { case 10: $randNum = 'A'; break; case 11: $randNum = 'B'; break; case 12: $randNum = 'C'; break; case 13: $randNum = 'D'; break; case 14: $randNum = 'E'; break; case 15: $randNum = 'F'; break; } $str .= $randNum; } return $str; } $color = randomColor(); 三、从网上下载文件 set_time_limit(0); // Supports all file types // URL Here: $url = 'http://somsite.com/some_video.flv'; $pi = pathinfo($url); $ext = $pi['extension']; $name = $pi['filename']; // create a new cURL resource $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // grab URL and pass it to the browser $opt = curl_exec($ch); // close cURL resource, and free up system resources curl_close($ch); $saveFile = $name.'.'.$ext; if(preg_match("/[^0-9a-z._-]/i", $saveFile)) $saveFile = md5(microtime(true)).'.'.$ext; $handle = fopen($saveFile, 'wb'); fwrite($handle, $opt); fclose($handle); 四、强制下载文件 $filename = $_GET['file']; //Get the fileid from the URL // Query the file ID $query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename)); $sql = mysql_query($query); if(mysql_num_rows($sql) >0) {$row = mysql_fetch_array ($sql); / / Set some headers header ("Pragma: public"); header ("Expires: 0"); header ("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header ("Content-Type: application/force-download"); header ("Content-Type: application/octet-stream"); header ("Content-Type: application/download"); header ("Content-Disposition: attachment; filename=" .basename ($row ['FileName']). Header ("Content-Transfer-Encoding: binary"); header ("Content-Length:" .filesize ($row ['FileName'])); @ readfile ($row [' FileName']); exit (0);} else {header ("Location: /"); exit;}
5. Intercept pictures
$filename= "test.jpg"; list ($w, $h, $type, $attr) = getimagesize ($filename); $src_im = imagecreatefromjpeg ($filename); $src_x = '0mm; / / begin x $src_y =' 0mm; / / begin y $src_w = '100mm; / / width $src_h =' 100mm; / / height $dst_x = '0mm; / / destination x $dst_y =' 0mm; / / destination y $dst_im = imagecreatetruecolor ($src_w, $src_h) $white = imagecolorallocate ($dst_im, 255,255,255); imagefill ($dst_im, 0,0, $white); imagecopy ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h); header ("Content-type: image/png"); imagepng ($dst_im); imagedestroy ($dst_im)
Check whether the website is down
Function Visit ($url) {$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $ch=curl_init (); curl_setopt ($ch,CURLOPT_ URL,$url); curl_setopt ($ch,CURLOPT_ USERAGENT, $agent); curl_setopt ($ch,CURLOPT_ RETURNTRANSFER, 1); curl_setopt ($ch,CURLOPT_VERBOSE,false); curl_setopt ($ch,CURLOPT_ TIMEOUT, 5); curl_setopt ($ch,CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch,CURLOPT_SSLVERSION,3) Curl_setopt ($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $page=curl_exec ($ch); / / echo curl_error ($ch); $httpcode = curl_getinfo ($ch, CURLINFO_HTTP_CODE); curl_close ($ch); if ($httpcode > = 200 & & $httpcode