私のPHPスクリプトでは、URLから画像を取得しようとしていて、サイズを変更してサーバにアップロードしています。スクリプトは、http://getsharp.net/imageupload.php?admin=reneで見ることができます - スクリプトは(そこにいくつかの他のPHPとHTMLはそれにももちろんですが、これは私の問題を与える部分である)以下で見られます:getimagesize - ストリームを開くことに失敗しました:接続がタイムアウトしました
$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を試すたびに、それは私に上記のエラーを与える。どうすればいいの?
ありがとうございました。
さて、スクリプトエラーだと思いました。私のサーバー構成で2と3の設定を変更することはできますか? –
別のサーバーから試したときに変更されましたか? – chx
私はそれを試みようとしています。 2分。 –