我使用http://phpseclib.sourceforge.net/库来使用ftp.Now上传文件--我无法理解这个“ftp如何在上传的同时处理文件数据”的概念。
所发生的是:
我用submit button.When创建了文件上传表单,我选择了该文件并单击submit加载器starts.But,没有进入server.My的文件期望是,当我单击submit按钮时,它会读取文件中的数据并根据phpseclib中提到的数据包大小将数据推入服务器。
有人解释了我误解了什么,或者当加载器在浏览器中显示的时候发生了什么?
编辑:
文件上传没有issues.Only,这就是为什么它在上传时调用了so late.So,同时将文件移动到服务器上。如果是的话,我为什么要去上传ftp。
我用100 my测试了files.Files是uploaded.What,我的期望是为什么它没有在单击submit按钮后立即启动?
发布于 2011-07-01 10:48:01
你的表格有enctype="multipart/form-data"吗?
在html中,表单需要enctype="multipart/form-data"属性来上传文件。表单通常如下所示:
<form id="form_id" enctype="multipart/form-data" method="POST">
<input type="file" name="file" />
<input type="submit" name="submit" value="submit" />
</form>发布于 2011-07-05 06:48:09
我很困惑。你能贴出相关的PHP代码吗
我认为正在发生的事情是:您的用户将一个文件上传到您的FTP服务器,然后您从您的FTP服务器启动FTP到FTP服务器。这里有两个上传;一个通过HTTP,一个通过FTP。在HTTP上传完成之前,您不会看到FTP上载开始。
发布于 2011-07-10 11:59:47
很好的问题,你在这里处理两个事务。第一个事务将文件放置到web服务器上的位置。它通过POST方法使用HTTP作为传输(也可能是此事务中最慢的部分)。
当初始客户端上传完成后,文件将存储在您的web服务器上,在那里可以传输S/FTP脚本。
读取下面的注释,您想要的是使用FTP从客户端传输文件,这是一个完全可行的解决方案。但是,这是您实现的当前流程。
您的进程当前.
如果步骤4是多余的,则根本不需要S/FTP脚本,除非您希望从客户端通过S/FTP进行传输。
你的意图.
您提到的注释中的可能实现Flex解决方案。以下是我发现的一些可能有帮助的资源。
在服务器端上用PHPSecLib实现一个S/FTP客户端。
我通过Sourceforge网站将原件复制到Gist,这样您就可以使用行号作为向导。SFTP库需要一个完整的文件路径(即/tmp/somefilehere )或一个有效的PHP文件资源。例如,与fopen $fp = @fopen('/tmp/somefilehere', 'rb');返回的代码一样,参见gist上的第1132行。
一旦通过认证,与最初的上传相比,传输将非常快。您的服务器可能位于具有更多带宽的数据中心,因此文件传输要快得多。
您可能希望通过web浏览器启动S/FTP事务。这是可能的,只是不可能与传统的脚本语言,如PHP / Python或Ruby。您可以使用Flash、Flex或Java以及一些Windows技术在浏览器中使用S/FTP。
https://stackoverflow.com/questions/6546719
复制相似问题