如何使用php上传到静态内容服务器?

如何使用php上传到静态内容服务器?,php,mysql,image-processing,file-upload,cdn,Php,Mysql,Image Processing,File Upload,Cdn,我将很快启动一个web应用程序,它将提供大量的图像,因此我希望以后有一个主web服务器和一个静态内容服务器,可能还有一个单独的数据库服务器 我希望用户: 登录并能够上传照片 照片被重命名为randrom字符串 照片被处理成缩略图 照片和缩略图存储在静态服务器上的文件系统中 照片和缩略图的目录和文件名存储在mysql数据库中 问题是我不知道如何让用户立即将图像上传到单独的服务器 我曾考虑过使用AmazonS3,但在发布文件名之前不能编辑它们。(通过POST,我不想使用RESTAPI) 我也可以使用

我将很快启动一个web应用程序,它将提供大量的图像,因此我希望以后有一个主web服务器和一个静态内容服务器,可能还有一个单独的数据库服务器

我希望用户:

  • 登录并能够上传照片
  • 照片被重命名为randrom字符串
  • 照片被处理成缩略图
  • 照片和缩略图存储在静态服务器上的文件系统中
  • 照片和缩略图的目录和文件名存储在mysql数据库中
  • 问题是我不知道如何让用户立即将图像上传到单独的服务器

    我曾考虑过使用AmazonS3,但在发布文件名之前不能编辑它们。(通过POST,我不想使用RESTAPI)

    我也可以使用php的ftp功能上传到一个单独的服务器,但我想根据图像的属性动态创建文件夹(因此我显然没有将所有图像都放在一个大文件夹中),但如果我使用ftp,我不知道这将如何工作

    或者我可以在本地保存它们并使用CDN,我对CDN不太熟悉,所以我不知道这样使用它们是否合适或经济划算

    我的选择是什么?我希望图像立即可用(无cron作业/队列)

    谢谢

    您可以使用PHP通过FTP,因此这不应该是一个showstepper。

    您可以使用PHP通过FTP,因此这不应该是一个showstepper

    我曾考虑过使用AmazonS3,但在发布文件名之前不能编辑它们。(通过POST,我不想使用RESTAPI)

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

    我曾考虑过使用AmazonS3,但在发布文件名之前不能编辑它们。(通过POST,我不想使用RESTAPI)


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

    我看到的唯一问题是,在创建之前,我需要一些方法来检查该目录是否已经存在,否则它会覆盖该目录。你可以使用ftp列表进行检查,但如果失败,我会尝试切换到目录并创建它。我看到的唯一问题是,在创建之前,我需要某种方法来检查该目录是否已经存在,否则它会覆盖该目录。您可以使用ftp\u nlist进行检查,但如果失败,我会尝试切换到目录并创建它。