相关疑难解决方法(0)

在php中超级快速getimagesize

我试图获得数百个远程图像的图像大小(图像尺寸,宽度和高度),并且getimagesize速度太慢.

我做了一些阅读,发现最快的方法是file_get_contents从图像中读取一定数量的字节并检查二进制数据中的大小.

以前有人试过吗?我该如何检查不同的格式?有人见过这个库吗?

php image http getimagesize

40
推荐指数
3
解决办法
5万
查看次数

pcntl运行相同的代码几次,需要帮助

我正在使用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)

php fork pcntl

4
推荐指数
1
解决办法
1049
查看次数

PHP的getimagesize无法从URL检测图像

我正在使用以下代码快速验证链接是否为图像...

if (getimagesize($imageLink)) {
} else {
    echo "notImage";
    exit();
}
Run Code Online (Sandbox Code Playgroud)

它几乎可以在所有情况下工作(例如,如果浏览器返回图像,则getimagesize将返回某些内容),但是我发现某些情况下它不起作用-例如对于此链接...

http://s4.reutersmedia.net/resources/r/?m=02&d=20160330&t=2&i=1128905435&w=&fh=545px&fw=&ll=&pl=&sq=&r=LYNXNPEC2T0YW

这通常适用于路透社的网站,而且我敢肯定还有其他一些网站,但是由于浏览器设法返回了图像,因此我真的很难理解为什么会出现此问题。我本来以为getimagesize需要明确声明的文件路径(例如,以.jpg,.png等结尾),但是再一次像这样的链接可以正常工作...

https://d2sh4fq2xsdeg9.cloudfront.net/contentAsset/image/f9b79b5e-1986-4376-b9ed-0b153d6deb14/image/byInode/1/filter/Resize,Jpeg/jpeg_q/69/resize_w/434

非常感谢任何有想法的人的想法,为什么在第一个示例中getimagesize不会返回图像,而在第二个示例中会返回图像-关于如何修改代码以适应路透社示例的任何建议也都很棒!

php getimagesize

4
推荐指数
1
解决办法
7130
查看次数

PHP - 如何确保curl_multi代理连接是否成功?

我想使用带有代理的multi-cURL,但我无法弄清楚如何检查每个代理连接是否成功.使用正常的单个cURL,我创建一个简单的循环,运行时curl_errno不为0.

但是如何使用multi-cURL?

谢谢!

php curl

0
推荐指数
1
解决办法
2525
查看次数

标签 统计

php ×4

getimagesize ×2

curl ×1

fork ×1

http ×1

image ×1

pcntl ×1