最佳实践:在 PHP 网站中显示由 C 程序生成的图像
Best practice: Displaying image generated by C program in PHP website
我想要一些关于在解决这个问题时从设计角度来看什么是最佳实践的建议:
- 我有一个网站当前正在显示由 google 地图生成的 "image"。
- 此网站在 Linux 的 Apache Web 服务器上运行。
- 我想使用我自己的程序(我的 program.c)生成我自己的 "image",而不是 google 地图库。
- 我的程序 (my_program.c) 是用 C 语言编写的。我可以选择将它安装到与 Apache Web 服务器相同的机器上,或者安装在单独的机器上。
我需要:
1) 以某种方式调用这个 C 程序,或者最好是从 PHP 代码调用这个程序 (my_program.c) 中的一个函数,
2) 通过 C 程序访问 MySQL 数据库,并执行一些最终呈现所需图像的计算
3) Return 此过程的结果(生成的图像)到 PHP 程序,以便它可以显示在浏览器中。
如有任何提示,我们将不胜感激..
谢谢
1) 从 PHP 代码调用此 C 程序:
将编译后的程序放在您的 /cgi-bin 文件夹中,并通过查询字符串从 PHP 传递参数。确保您的代码在任何图像数据(例如 printf("Content-Type: image/png\r\n\r\n");
)
之前至少发送一个 Content-Type HTTP header
2) 通过C程序访问MySQL数据库:
使用 MySQL C API.
3) Return 此过程生成的图像到 PHP 程序,以便它可以在浏览器中显示。
您可能不需要 return 任何 PHP。只需在 HTML 代码中向 CGI 应用程序嵌入一个 link,例如,
<img src="http://example.com/cgi-bin/my-map-tool?lat=+42.5;long=-0.5" />
我想要一些关于在解决这个问题时从设计角度来看什么是最佳实践的建议:
- 我有一个网站当前正在显示由 google 地图生成的 "image"。
- 此网站在 Linux 的 Apache Web 服务器上运行。
- 我想使用我自己的程序(我的 program.c)生成我自己的 "image",而不是 google 地图库。
- 我的程序 (my_program.c) 是用 C 语言编写的。我可以选择将它安装到与 Apache Web 服务器相同的机器上,或者安装在单独的机器上。
我需要: 1) 以某种方式调用这个 C 程序,或者最好是从 PHP 代码调用这个程序 (my_program.c) 中的一个函数, 2) 通过 C 程序访问 MySQL 数据库,并执行一些最终呈现所需图像的计算 3) Return 此过程的结果(生成的图像)到 PHP 程序,以便它可以显示在浏览器中。
如有任何提示,我们将不胜感激.. 谢谢
1) 从 PHP 代码调用此 C 程序:
将编译后的程序放在您的 /cgi-bin 文件夹中,并通过查询字符串从 PHP 传递参数。确保您的代码在任何图像数据(例如 printf("Content-Type: image/png\r\n\r\n");
)
2) 通过C程序访问MySQL数据库:
使用 MySQL C API.
3) Return 此过程生成的图像到 PHP 程序,以便它可以在浏览器中显示。
您可能不需要 return 任何 PHP。只需在 HTML 代码中向 CGI 应用程序嵌入一个 link,例如,
<img src="http://example.com/cgi-bin/my-map-tool?lat=+42.5;long=-0.5" />