如何羊群()的形象吗?

我期待涌向()的图像。

目前我使用下面的

$img = ImageCreateFromPng($img_path); flock($img,LOCK_EX);

看来,GD库的文件句柄无效与羊群。 如何访问图像和集群文件?

--------------解决方案-------------

该功能flock只能在文件句柄(或者,如果他们支持锁定流包装)。 所以,如果你想锁定,当你读它的图像,你需要两次打开它:

$f = fopen($imgPath, 'r');
if (!$f) {
//Handle error (file does not exist perhaps, or no permissions?)
}
if (flock($f, LOCK_EX)) {
$img = imagecreatefrompng($imgPath);
//... Do your stuff here

flock($f, LOCK_UN);
}
fclose($f);

$ IMG在你的例子不是一个文件句柄,这是一个句柄内存中的GD图像资源。

您可以使用imagecreatefromstring加载图像是这样的:

$file=fopen($fileName,"r+b");
flock($file,LOCK_EX);
$imageBinary=stream_get_contents($file);
$img=imagecreatefromstring($imageBinary);
unset($imageBinary); // we don't need this anymore - it saves a lot of memory

如果您想将图像的修改版本保存打开流,你必须使用输出缓冲:

ob_start();
imagepng($img);
$imageBinary=ob_get_clean();

ftruncate($file,0);
fseek($file,0);
fwrite($file,$imageBinary);
unset($imageBinary);
flock($file,LOCK_UN);
fclose($file);

flock只适用于文件指针和ImageCreateFromPng只适用于文件名 ​​。 试着做两个不同的电话:

$fp = fopen($img_path, 'r');
flock($fp, LOCK_EX);
$img = ImageCreateFromPng($img_path);

flock是合作的,所以如果每个人都使用它它仅适用。 只要ImageCreateFromPng不使用flock ,上面的代码应该工作。

分类:php 时间:2015-03-14 人气:0
本文关键词: PHP,羊群
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.449 (s). 10 q(s)