PHP脚本将图片上传至图片服务器的方法

一般网站都会有专门的图片服务器,用来专门加载图片。可以让图片更快的显示。对于PHP程序展示来说,无非就是图片链接指向另一个URl而已,而在图片上传时,如何将图片通过当前服务器上传至图片服务器呢。

因为是小网站,没有自己服务器,一些系统级别的共享同步,就不予考虑了。

首先想到的是用PHP的FTP类进行传送。但是对于小网站来说,服务器都不是我们自己的。这样另一台图片服务器ftp登录账户和密码就会被写进PHP代码中,对于服务器安全来说,确实是个不小的事。当然可以规定账号权限,即使获取ftp权限,也不会有太大权限。

这样的思路清晰。不过工作量也有点大。有没有更好的办法呢?

google几番搜索后,终于看到一个思路:典型的想法都是将图片推到图片服务器,完全可以让图片服务器自取图片。 可以在图片服务器端写一个脚本,用来抓取图片。这个时候仅需要知道这个图片的地址就可。

于是乎整个具体流程如下:当前服务器在接收图片上传并处理好后,就知道了这个图片的url地址,然后将这个地址连同验证机制运用curl或file_get_contents函数post或get提交到图片服务器的脚本中,脚本可以根据图片地址及验证,结合curl和file_put_contents将图片抓取过来写入图片服务器。一次不成功就执行几次,然后成功后返回相应状态。当前服务器接收后就删除当前图片。同时也可将图片地址记录入库。便于提取。这样一个图片同步机制就写成了。

无须利用ftp类写入账户名和密码就可保证图片同步,仅仅利用curl和file处理函数,代码也会明显变得简单。又保证了两台服务器各自的安全。对于小网站来说是个不错的想法。

One thought on “PHP脚本将图片上传至图片服务器的方法”

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>