PHP中的
$pid = pcntl_fork(); if ($pid == -1) { die('could not fork'); } else if ($pid) { // 父進程代碼執行區域 pcntl_wait($status); // 等待子進程退出后再繼續執行 } else { // 子進程代碼執行區域 }
如上代碼片段展示了
舉個例子,我們可以使用
function scale_image($path) { // 縮放操作 } $dir = '/path/to/images'; $images = scandir($dir); foreach ($images as $image) { if (preg_match('/\.(jpg|jpeg|png)$/', $image)) { $pid = pcntl_fork(); if ($pid == -1) { die('could not fork'); } else if ($pid) { // 父進程代碼執行區域 pcntl_wait($status); // 等待子進程退出后再繼續執行 } else { // 子進程代碼執行區域 scale_image($dir.'/'.$image); exit(); } } }
如上代碼片段展示了圖片批量縮放的代碼實現,根據文件類型過濾出需要處理的文件,使用pcntl_fork()創建子進程,每個子進程執行縮放操作,處理完畢后退出進程,由父進程等待子進程執行完成后繼續執行。
除了加速圖片處理,
需要注意的是,
總之,
上一篇php path設置
下一篇php pdf 頁數