getimagesize -打开流失败:连接超时


getimagesize - failed to open stream: Connection timed out in

在我的php脚本中,我试图从URL获取图像,调整大小,并将其上传到我的服务器。该脚本可以在http://getsharp.net/imageupload.php?admin=rene看到-脚本如下(当然也有一些其他的PHP和HTML在它,但这是给我一个问题的部分):

$admin = $_REQUEST['admin'];
$url = $_POST['uploadlink'];
    if ($_POST['filename']){
        $filename = $_POST['filename'].".jpg";
    } else {
        $urlinfo = parse_url($url);
        $filename = basename($urlinfo['path']);
        $filenamearray = explode(".", $filename);
        $filenamebase = $filenamearray[0];
        $filenamebase = substr($filenamebase, 0, 20); // max 20 characters
        $filename = $filenamebase.".jpg";
    }
    // Get new dimensions
    list($width, $height) = getimagesize($url);
    $new_width = 300;
    $ratio = $height/$width;
    $new_height = 300*$ratio;
    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    if(exif_imagetype($url) == IMAGETYPE_GIF){
        $image = imagecreatefromgif($url);
    }else if(exif_imagetype($url) == IMAGETYPE_JPEG){
        $image = imagecreatefromjpeg($url);
    }else if(exif_imagetype($url) == IMAGETYPE_PNG){
        $image = imagecreatefrompng($url);
    }else{
        $image = false;
    }
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    if(is_dir("images/upload/".$admin."/")){
        // Output
        imagejpeg($image_p, "images/upload/".$admin."/".$filename);
        imagedestroy($image_p);
    }else{
        mkdir("images/upload/".$admin."/");
        // Output
        imagejpeg($image_p, "images/upload/".$admin."/".$filename);
        imagedestroy($image_p);
    }
    $URL="http://getsharp.net/imageupload.php?admin=".$admin; 
    header ("Location: $URL");

一切都很好,除了当我扔进一个新的URL时,它给了我以下错误:警告:getimagesize(http://buffalocomputerconsulting.com/images/computer.jpg):未能打开流:连接超时。

然而,如果我扔在完全相同的URL之后,没有问题,图像正在上传。所以每次我第一次尝试一个新的URL时,它都会给我上面的错误。这怎么可能呢?

谢谢。

  1. 你的DNS解析太慢
  2. 您的服务器首先尝试非应答DNS
  3. 您的服务器尝试先连接IPv6
  4. 你的上行链路慢如糖蜜,但它有缓存代理

我相信还有更多。在另一台机器上尝试您的脚本,看看它是否改变。