<?php /** * $path相對於$base的相對路徑 * @param string $base * @param string $path */ function abs2rel(string $base, string $path) { if (is_dir($base)) { $base = rtrim($base, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "."; } $a = explode(DIRECTORY_SEPARATOR, $base); $b = explode(DIRECTORY_SEPARATOR, $path); $d = []; // $path push $i = count($a)-1; $sliceEquals = function($a, $b, $j) { if ($j >= count($a) || $j >= count($b)) { throw new Exception('$j out of range'); } for ($i = $j; $i >= 0; $i--) { if (strcmp($b[$i], $a[$i])!==0) { return false; } } return true; }; // 找到a,b數組元素相同的下標 while (array_pop($a)) { $i = count($a)-1; if (isset($b[$i])) { if ($sliceEquals($a, $b, $i)) { break; } } array_push($d, ".."); } // 從首個不一樣元素開始 for ($i+=1; $i < count($b); $i++) { array_push($d, $b[$i]); } return ".".DIRECTORY_SEPARATOR.implode(DIRECTORY_SEPARATOR, $d); }
1. 負載均衡 [TO BE DONE]javascript
https://blog.csdn.net/qq_28602957/article/details/61615876php
2. 索引的創建 和查詢 以及索引場景創建html
3. thinkphp的路由 [ONGOING]java
https://www.kancloud.cn/manual/thinkphp5/118030mysql
./application/route.phplinux
4.PHP中一些經常使用的spl函數 [TO BE DONE]redis
http://php.net/manual/en/book.spl.phpsql
5.mysql的主從分離 對id進行hash 理解hashthinkphp
6.linux的一些經常使用命令 熟悉linux [DONE]shell
7. 遞歸 n! [DONE]
8. php單例模式
9. mysql 分表
10. CAS認證, ucenter認證
---------------------------------------------爬蟲相關的問題---------------------------------------------------
* php程序發送http請求
- curl
$ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'https://www.baidu.com', CURLOPT_HEADER => 1, CURLOPT_RETURNTRANSFER => 1 ]); $data = curl_exec($ch); curl_close($ch); echo $data.PHP_EOL;
-socket
* mysql存儲引擎 myisam / innodb select count(*) ... 用哪一個存儲引擎快
MyISAM會保存表的總行數,select count(*)在MyISAM存儲引擎中執行,MyISAM只要簡單地讀出保存好的行數便可。
InnoDB存儲引擎不會保存表的具體行數,所以,在InnoDB存儲引擎中執行這段代碼,InnoDB要掃描一遍整個表來計算有多少行。
* mysql 函數pconnect/connect
mysql_pconnect — Open a persistent connection to a MySQL server
* linux shell 定時器 腳本
crontab
* 投票限制 每人每分鐘3次,每人每小時10次; 每一個IP每分鐘30次,天天100次
* 爬蟲架構
* php實現一個跨請求的隊列 (redis?)
* 上傳文件安全限制
* "Hello world Blog Control" 字符串按空格分隔,分紅數組,所有轉化爲小寫,按字母順序排
(php sort 和javascript的sort方法不一樣 不傳回調用SORT_STRING
)
<?php class TestArrayObject { private $s = ""; public function __construct($s) { $this->s = $s; } public function run() { $ao = new ArrayObject(array_map(function($word) { return strtolower($word); }, explode(' ', $this->s))); $ao->uasort(function($a, $b) { return strcmp($a, $b); }); return $ao->getArrayCopy(); } } $o = new TestArrayObject("Hello world Blog Controll Hola Hi Shalom"); $a = $o->run(); var_dump($a);
---------------------------------------------/爬蟲相關的問題---------------------------------------------------