2011-04-30 66 views
1

我即将启动一个Web应用程序,它将提供相当数量的图像,因此我希望稍后有一个主要Web服务器和一个静态内容服务器,并可能还有一个单独的数据库服务器。如何使用php上传到静态内容服务器?

我想用户:

  1. 登录并能够上传照片
  2. 照片被改名randrom串
  3. 照片处理成缩略图
  4. 的照片和缩略图存储在静态服务器上的文件系统中。
  5. 照片和缩略图的目录和文件名都存储在MySQL数据库

问题是我不知道如何让用户即时上传图片到一个单独的服务器。

我曾考虑过使用亚马逊S3,但在张贴它们之前不能编辑文件名。 (通过POST,我宁愿不使用REST API)

我也可以使用php的ftp函数上传到一个单独的服务器,但我想动态创建基于图像属性的文件夹(so我没有在一个大文件夹中的所有图像显然),但我不知道如果这将工作,如果我使用FTP ...

或者我可以将它们保存在本地并使用CDN,我不太熟悉CDN,所以我不知道以这种方式使用它们是否合适或具有成本效益。

我在这里有什么选择?我希望图像立即可用(无cron作业/队列)

谢谢。

回答

1

你可以通过FTP与create directories,所以不应该是一个showstopper。

+0

我看到的唯一问题是,我需要一些方法来检查该目录是否已经存在,否则它会覆盖目录。 – minjoon 2011-04-30 18:14:17

+0

你可以用ftp_nlist检查,但我只是试图改变目录并在失败时创建它。 – 2011-04-30 18:16:19

0

我想过使用亚马逊s3,但是在发布文件之前你不能编辑文件名。 (通过POST,我宁愿不使用REST api)

如果你让PHP服务器通过POST上传到S3,你可以随意命名这些文件。无论如何,你应该这样做,让你的用户直接上传到S3,而不用在你的PHP代码之间,听起来对我来说安全性不好。

相关问题