我试图获得数百个远程图像的图像大小(图像尺寸,宽度和高度),并且getimagesize速度太慢.
我做了一些阅读,发现最快的方法是file_get_contents从图像中读取一定数量的字节并检查二进制数据中的大小.
以前有人试过吗?我该如何检查不同的格式?有人见过这个库吗?
我正在使用pcntl来加速一个相当流行的CLI php脚本,该脚本主要由一个类组成,它负责在我的应用程序上发送所有自动电子邮件.
我的目标如下:我想在foreach循环中将每个进程分配给某个任务,我使用的实现是下面代码示例中显示的实现.
问题是,一旦你分叉一个进程,它就会异步执行,并获得父进程堆栈的副本. 在我的情况下,发生的事情是一个任务只执行几次, 我的问题是我如何设计这个脚本更聪明,以避免这种行为?
码:
/**
@description this is the main procedure of this class, it iteratates over the relevant tasks and sends the emails using the SendGrid wrapper class
@see SendGridWrapper
@return void
*/
public function execute(){
if(!isset($this->tasks)){
throw new exception("Please call getRelevantTasks() prior to trying to execute anything");
}
$proccesses = array();
foreach($this->tasks as $myTask){
$pid = pcntl_fork();
if($pid){
$proccesses[] = $pid;
}
else if($pid == -1){
die('FORK FAILED, STATUS -1');
}
else{
if(isset($myTask['recipient_model'])){
$this->currentModel = …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码快速验证链接是否为图像...
if (getimagesize($imageLink)) {
} else {
echo "notImage";
exit();
}
Run Code Online (Sandbox Code Playgroud)
它几乎可以在所有情况下工作(例如,如果浏览器返回图像,则getimagesize将返回某些内容),但是我发现某些情况下它不起作用-例如对于此链接...
这通常适用于路透社的网站,而且我敢肯定还有其他一些网站,但是由于浏览器设法返回了图像,因此我真的很难理解为什么会出现此问题。我本来以为getimagesize需要明确声明的文件路径(例如,以.jpg,.png等结尾),但是再一次像这样的链接可以正常工作...
非常感谢任何有想法的人的想法,为什么在第一个示例中getimagesize不会返回图像,而在第二个示例中会返回图像-关于如何修改代码以适应路透社示例的任何建议也都很棒!
我想使用带有代理的multi-cURL,但我无法弄清楚如何检查每个代理连接是否成功.使用正常的单个cURL,我创建一个简单的循环,运行时curl_errno不为0.
但是如何使用multi-cURL?
谢谢!