img php src asynchronous



如果我使用php文件作为源图像,其中:

$file = $_GET["file"];
$file_get = get_file_contents("from/".$file);
$fopen = fopen("to/".$file,"w+");
fwrite($fopen, $file_get);
fclose($fopen);
header("Location:to/".$file);

如果我在一个页面上使用很多这样的图像,比如:

<img src="image.php/?file=img.jpg>
<img src="image.php/?file=img2.jpg>
<img src="image.php/?file=img3.jpg>
...

我发现image.php中的代码不能异步运行。图像是一个接一个下载的。我怎样才能避免呢?

我发现你的代码有一些问题。首先,当你在代码中直接使用$_GET输入来获取图像时,你有一个很大的安全性。

下一个是为什么你从一个文件中获取内容并将它们写入另一个文件以重定向到它们?如果每次都将文件写入到另一个位置,这就不是很快了。

如果您获得了内容,请返回内容并设置正确的标题以显示图像。

header('Content-type:image/png');
readfile($fullpath);

它更容易,你有更少的IO来显示文件。否则,您可以使用像PHPThumb这样的脚本生成较小的版本并缓存文件。

http://phpthumb.sourceforge.net/

最新更新