を使用した後、私は、ユーザーが画像ファイルをアップロードしたシナリオを持っています。背景色(左上隅の色として定義されています)を取り除き、imagepngでファイルに保存します。巨大なラグimagepng
私はもともと、直接そのファイル名と呼ばれる一部のHTMLをエコーしようとしたが、それは(これは6Kファイル、空想何もあり)表示されるように画像のための限り7分程度かかります。私は、同じリクエストで投稿されたデータを使用しようとすべきではないということを読んだので、イメージを出力する代わりに、イメージを取得する2番目のページへのリンクに変更しました。
しかし、同じ遅れが発生します。私は多くの画像操作をしていないので、私が間違ってしまった場所や、物事をスピードアップする方法についての指導を感謝します。私の最終的な目標は、ここでは、主要なコードですviewing_page.html
がちょうど<img src="target.png"/>
<?php
if($_FILES['test']['tmp_name']){
//some validation is necessary, this is just a proof of concept for a friendly user test
if($_FILES['test']['type']=="image/png"){
$im = imagecreatefrompng($_FILES['test']['tmp_name']);
}
if(($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")){
$im = imagecreatefromjpeg($_FILES['test']['tmp_name']);
}
if($_FILES['test']['type']=="image/gif"){
$im = imagecreatefromgif($_FILES['test']['tmp_name']);
}
//determine background RGB
$rgb = imagecolorat($im, 0, 0);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$background = imagecolorallocate($im, $r, $g, $b);
// Make the background transparent
imagecolortransparent($im, $background);
imagepng($im,'target.png');
imagedestroy($im);
echo "<a href=\"viewing_page.html\">View</a>";
//echo "<img src=\"target.png\"/>"; //-----------this was my first (and preferred) approach
}
else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body bgcolor="#00CCFF">
<form action="" method="post" enctype="multipart/form-data">
<input name="test" type="file" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
<?php
}
?>
小さな画像をアップロードするためにどのくらいの時間がかかりますか?具体的にする! – marinara
ダウンロードに422秒、アップロードに0.25秒。私は以下の答えがうまくいったと思っていましたが、今度はIMAGEがすぐに戻っても、サポートされているJSファイルは422秒も遅れていることが判明しました。 –