Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将多个(2000+)图像上载到服务器的最佳做法_Php_Ruby On Rails_Image - Fatal编程技术网

Php 将多个(2000+)图像上载到服务器的最佳做法

Php 将多个(2000+)图像上载到服务器的最佳做法,php,ruby-on-rails,image,Php,Ruby On Rails,Image,关于这一点,我有一个一般性的问题 当你有一个画廊时,有时人们需要一次上传1000张图片。最有可能的是,它将通过一个.zip文件完成。将此类内容上传到服务器的最佳方式是什么。很多时候,服务器有超时等需要说明。我想知道我应该注意什么样的事情,处理大量上传的图像的最佳方式是什么 我猜想,假设超时不影响您,您将允许用户上载zip文件,并且该zip文件将上载到特定目录,在这种情况下,假设为系统中的每个用户创建了一个目录。然后,您将解压缩服务器上的目录,并扫描用户文件夹中包含.jpg或.png或.gif文件

关于这一点,我有一个一般性的问题

当你有一个画廊时,有时人们需要一次上传1000张图片。最有可能的是,它将通过一个.zip文件完成。将此类内容上传到服务器的最佳方式是什么。很多时候,服务器有超时等需要说明。我想知道我应该注意什么样的事情,处理大量上传的图像的最佳方式是什么

我猜想,假设超时不影响您,您将允许用户上载zip文件,并且该zip文件将上载到特定目录,在这种情况下,假设为系统中的每个用户创建了一个目录。然后,您将解压缩服务器上的目录,并扫描用户文件夹中包含.jpg或.png或.gif文件等的任何目录,然后将它们相应地导入到表中。我猜是用文件夹名标记的

我会遇到什么样的服务器端问题

我知道可能有很多问题。即使是一般性的想法也可以,这样我就可以进一步研究。谢谢


另外,我会用RubyonRails编程,但我认为这个问题适用于任何语言。

对于那些图像,它必须是一个严肃的应用程序。。因此,您可以自由地建议在客户端上运行一款软件,如yahoo mail/picassa,该软件将负责“管理”网络中断/恢复支持等图像上传

对于服务器端,您可以一次处理一个,假设您的客户机以这种方式发送它们。因此保持简单。

看一看 他们有十几种将图片上传到画廊的方法。
您可以选择适合自己的应用程序。

要么有一个客户端应用程序,要么有一些Ajax代码,可以逐个发送图像,防止超时。或者,如果公众无法获得此信息。FTP仍然有效…

我建议客户端应用程序可以用空气或钛合金编写,或者告诉用户FTP是什么

例如,deviantArt.com提供FTP作为支付订阅者的上传方法,而且效果非常好


相反,Flickr拥有自己的应用程序。Flickr上传程序。

没有理由不能用web应用程序处理这种事情。有两个非常好的组件可以用于此:

基于jquery/flash 来自moxiecode的tinymce人 它们之所以有用,是因为在第一种情况下,它使用flash组件来处理上载,因此您可以从“文件浏览器”窗口中选择文件组,前提是没有人会单独选择数千张图像。。!,使用plupload,还支持拖放和更多平台

一旦你的界面正常工作,服务器端的东西只需要能够处理个人上传,将它们与某种用户帐户相关联,并且从那里开始应该非常简单

关于服务器端问题,这确实是一个大问题,取决于有多少人将同时使用该应用程序、图像的大小以及之后发生的任何处理。请记住,在脚本处理文件时,这些文件会保存在临时位置,完成后会被删除,或者由脚本复制到最终存储位置,因此空间/内存开销/超时可能是一个问题


如果图像的大小很大,比如说raw或tif,那么这种方法仍然可以用于分块上传,但是实现某种FTP上传可能更容易。这是一个有点模糊的问题,但这里应该有足够的东西让你去

图像有多大?你能给我们一个图像数量的上限吗?一个类似的选项是,你可以创建一个Java小程序或一些仍然可以在浏览器中运行的东西,而不是建议客户端,但可以给你更好的客户端控制。谢谢danp。有很多很好的答案,我会调查的。谢谢大家!