Time of Update: 2018-03-27
什麼叫採集?就是使用PHP程式,把其他網站中的資訊抓取到我們自己的資料庫中、網站中。本文主要和大家分享3種PHP實現資料擷取方法,希望能協助到大家。PHP製作採集的技術:從底層的socket到高層的檔案操作函數,一共有3種方法可以實現採集。1. 使用socket技術採集:socket採集是最底層的,它只是建立了一個長串連,然後我們要自己構造http協議字串去發送請求。例如要想擷取這個頁面的內容,http://tv.youku.com/?spm=a2hww.20023042.topNav.5~1~
Time of Update: 2018-03-27
Opcache是一種通過將解析的PHP指令碼先行編譯的位元組碼存放在共用記憶體中來避免每次載入和解析PHP指令碼的開銷,解析器可以直接從共用記憶體讀取已經緩衝的位元組碼,從而大大提高PHP的執行效率。PS: 需要區別於Xcache機制,後續總結中會介紹其使用。· 如何安裝· 如何配置· 如何使用· 顯示分析· 注意事項一、如何安裝在PHP
Time of Update: 2018-03-27
本文主要和大家分享laravel實現前後台使用者驗證分開,希望能協助到大家。我們在使用laravel給我們帶來便利的同時,也遇到不理解他那樣做的原因。就拿laravel內建的auth驗證來說,你能做到根據自己的意願來隨意改寫,但是還是那樣好用嗎?例如,預設驗證的是email或者user_name之類和password一起驗證,如果我需要多種登陸方式同時存在咋辦?例如: 我註冊的時候需要同時支援以下三種登陸方式,該怎麼樣改寫?是不是感覺有點難度了? * @desc
Time of Update: 2018-03-27
本文主要和大家分享Laravel實現類比使用者登陸,希望能協助到大家。//強制使用者id位100的人登入Auth::loginUsingId(100);//擷取這個登入使用者的id;dd(auth()->user()->id);在測試的時候,我需要測試某一個登入使用者的相關資訊,我們是可以在auth
Time of Update: 2018-03-27
本文主要和大家分享php定義Null 物件的方法,有時候我們直接對不存在的數組直接定義其下標的值,不會報錯,但是我們定義不存在的對象的時候,就會報錯,這個時候我們定義一個Null 物件即可.有以下三種方法:<?php$obj1 = new \stdClass; // Instantiate stdClass object$obj2 = new class{}; // Instantiate anonymous class$obj3 = (object)[]; // Cast empty
Time of Update: 2018-03-27
本文主要和大家分享php判斷json格式是否正確的方法,主要以代碼的方式和大家分享,希望能協助到大家。1、校正json格式是否有誤:function data($value) { $res = json_decode($value, true); $error = json_last_error(); if (!empty($error)) { echo "<pre>"; print_r($value)
Time of Update: 2018-03-27
CURL是利用URL文法愛命令列方式下工作的檔案傳輸工具。它支援很多協議。它支援認證功能。php中常用都實現更複雜的傳輸功能。實現的功能:1、實現遠程擷取和採集內容2、實現PHP
Time of Update: 2018-03-27
本文主要和大家分享php取出數組單個值的方法,主要以代碼的形式和大家分享,希望能協助到大家。php取出數組單個值 1.數組arr var_dump(arr) 值如下:array (size=3) 'delete' => array (size=3) 0 => string 'HBSFlyRecode20170222-101501.txt' (length=31) 1 => string
Time of Update: 2018-03-27
有時候因為工作、自身的需求,我們都會去瀏覽不同網站去擷取我們需要的資料,於是爬蟲應運而生,下面是開發一個簡單爬蟲的經過與遇到的問題。開發一個爬蟲,首先你要知道你的這個爬蟲是要用來做什麼的。我是要用來去不同網站找特定關鍵字的文章,並擷取它的連結,以便我快速閱讀。按照個人習慣,我首先要寫一個介面,理清下思路。1、去不同網站。那麼我們需要一個url輸入框。2、找特定關鍵字的文章。那麼我們需要一個文章標題輸入框。3、擷取文章連結。那麼我們需要一個搜尋結果的顯示容器。[xhtml] view plain
Time of Update: 2018-03-27
最近工作中需要做一個通過文章url抓取文章的功能,網頁解析使用的是QueryList。將代碼實現的邏輯記錄一下。希望能協助到大家。具體實現代碼如下:/** * @param $url 文章url * @return bool */ function spideWx($url){ if(empty($url)) return false; $_host = parse_url($url, PHP_URL_HOST); //擷取主機名稱
Time of Update: 2018-03-27
本文主要和大家分享WEB服務環境WAMP的詳細安裝過程,希望能協助到大家。第一步、下載並安裝Apache去官方下載Apache安裝Apache:首先可以在任何盤符下建立一個WEB服務環境目錄為WAMP檔案名稱,再在這個檔案夾下建立Apache檔案名稱,雙擊下載的Apache安裝包,然後開始安裝:最後指定我們已建立的目錄(盤符:\WAMP\Apache)為安裝目錄。安裝步驟如下: 安裝完之後,開啟瀏覽器,輸入:localhost,斷行符號,如果出現如下提示表示安裝成功:
Time of Update: 2018-03-27
本文主要和大家分享PHP如何抓取遠程圖片到本地儲存,最近在工作中需要開發了一個使用者素材功能,裡面需要將網上的各種圖片素材進行本地化儲存。於是在網上找了一些相關資料,並根據自身開發需要,整理了一下主要的邏輯代碼。/** * PHP將網頁上的圖片攫取到本機存放區 * @param $imgUrl 圖片url地址 * @param string $saveDir 本機存放區路徑 預設儲存在當前路徑 * @param null $fileName 圖片儲存到本地的檔案名稱 * @return
Time of Update: 2018-03-27
本文主要和大家分享PHP實現發送非同步要求方法,最近在工作中多次碰到需要用到PHP非同步請求的問題,所以在網上尋找了相關的資料。經過多次的測試和修改,總結了兩種普遍可行的的方案:1、方案一:使用CURL,但必須設定CUROPT_TIMEOUT為1。function _curl($url, $data=null, $timeout=0, $isProxy=false){ $curl = curl_init(); if($isProxy){ //是否設定代理
Time of Update: 2018-03-27
最近工作中需要完成一個評論的功能,上網尋找了幾個評論系統的展示樣式。最後參考“多說”和“暢言”等評論系統,自己使用PHP語言實現了一個簡單的評論系統。並記錄了兩種方式(遞迴方式和非遞迴方式)的實現過程,以及分析兩種方式的優缺點,但前端如何?就沒有展現了。首先設計資料庫如下:create table `comments`(`id` bigint unsigned not null AUTO_INCREMENT,`arc_id` bigint unsigned not null COMMENT
Time of Update: 2018-03-27
本文主要和大家分享phpl判斷mysq資料庫中資料表是否存在,主要有兩種方式,希望能協助到大家。注意:以下都是在ThinkPHP架構中進行測試方式1通過查詢MySQL的配置表資訊//TABLE_SCHEMA:表示資料庫名 , TABLE_NAME : 表示表名 $sql = "SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='database_name' and TABLE_NAME
Time of Update: 2018-03-27
本文主要和大家分享PHP使用curl多線程抓取網頁功能,CURL 支援多線程的抓取網頁的功能,代碼例子如下。希望能協助到大家。class HttpMulti { //curl選項 private static $options = array( CURLOPT_SSL_VERIFYPEER => 0, //不開啟HTTPS請求 CURLOPT_RETURNTRANSFER => 1, //請求資訊以檔案流方式返回
Time of Update: 2018-03-27
本文主要和大家分享PHP之回呼函數類型傳遞方式,我們這裡通過array_map()函數來進行測試,希望能協助到大家。方式1、全域函數function foo($val){return intval($val)+1;}$arr = array('a',2,'b',5,'c',7);//回呼函數傳遞方式$res = array_map('foo', $arr);/**輸出如下:array (size=6) 0 => int 1
Time of Update: 2018-03-27
這次給大家帶來Tphp利用檔案鎖來解決高並發問題,php利用檔案鎖來解決高並發問題的注意事項有哪些,下面就是實戰案例,一起來看一下。建立一個.txt檔案,檔案中什麼都不用寫。【一】.阻塞(等待)模式:(只要有其他進程已經加鎖檔案,當前進程會一直等其他進程解鎖檔案) <?php //串連資料庫
Time of Update: 2018-03-27
PHPMailer是一個封裝好的PHP郵件發送類,支援發送HTML內容的電子郵件,以及可以添加附件發送,並不像PHP本身mail()函數需要伺服器環境支援,您只需要設定郵件伺服器以相關資訊就能實現郵件發送功能。首先需要下載PHPMailer類包:點擊下載php代碼實現如下:<?phprequire('class.phpmailer.php');$mail = new PHPMailer(); //執行個體化$mail->IsSMTP(); //
Time of Update: 2018-03-27
使用表單上傳檔案的時候,表單的提交方式必須是post提交方式,上傳檔案的input控制項type屬性值應為file,最重要的是form標籤需要加一個enctype="multipart/form-data"的屬性。html代碼: [html] view plain copy<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8