将PHP中的ImageMagick与MySQL blob一起使用的选项?
因此,我的主机在服务器上提供ImageMagick,但没有用于PHP的MagickWand或IMagick API。我可以使用PHP exec命令操作图像。但这需要完整路径文件名才能工作,我想从MySQL数据库中提取图像。每次我想这样做的时候,我都必须把它们从数据库中拉出来并放到一个文件中吗?有什么建议吗?如果您唯一可用的ImageMagick只能对文件进行操作(这是我读您的第一句话的方式),那么您确实需要从MySQL blob中创建文件,以便在其上使用ImageMagick(记住以后要清理)。我的建议可能是切换到更好的托管服务,但我认为您有理由继续使用该服务。如果您可以使用的唯一ImageMagick只能对文件进行操作(这是我阅读您的第一句话的方式),那么您确实必须从MySQL Blob中创建文件,才能对其使用ImageMagick(记得事后清理)。我的建议可能是切换到更好的托管服务,但我认为您有理由继续使用该服务。一个选项是使用创建的进程的stdin/stdout运行imagemagick进程,并对其进行写入/读取 要从stdin读取imagemagick,只需输入一个破折号“-”。指定将PHP中的ImageMagick与MySQL blob一起使用的选项?,php,mysql,image,Php,Mysql,Image,因此,我的主机在服务器上提供ImageMagick,但没有用于PHP的MagickWand或IMagick API。我可以使用PHP exec命令操作图像。但这需要完整路径文件名才能工作,我想从MySQL数据库中提取图像。每次我想这样做的时候,我都必须把它们从数据库中拉出来并放到一个文件中吗?有什么建议吗?如果您唯一可用的ImageMagick只能对文件进行操作(这是我读您的第一句话的方式),那么您确实需要从MySQL blob中创建文件,以便在其上使用ImageMagick(记住以后要清理)。
/dev/stdout
作为输出文件。对imagemagick的调用应如下所示:
convert-scale 150x100-/dev/stdout
在由proc_open
创建的管道上使用fwrite
和fread
将输入写入imagemagick并读取输出
我还没有试过,但我想这应该行得通。一个选项是使用创建的进程的stdin/stdout运行imagemagick进程,并对其进行写入/读取 要从stdin读取imagemagick,只需输入一个破折号“-”。指定
/dev/stdout
作为输出文件。对imagemagick的调用应如下所示:
convert-scale 150x100-/dev/stdout
在由proc_open
创建的管道上使用fwrite
和fread
将输入写入imagemagick并读取输出
我没有试过,但我想这应该有用。你试过了吗?你试过了吗