2
比方说,我连接到FTP通过发送一个Ajax请求PHP:如何使用FTP与Ajax?
$connection = ftp_connect($server);
$login = ftp_login($connection, $ftp_user_name, $ftp_user_pass);
这个请求之后,我想上传一个文件:
$upload = ftp_put($connection, $dest, $source, $mode);
有没有办法让一个通过FTP连接到客户端的服务器并不断发送Ajax请求而不重新建立服务器端的FTP连接?
谢谢!
在这种情况下Java或.Net会更有帮助吗?一旦ajax请求完成,我将不得不开始一个新的请求并创建一个新的FTP进程。或者我错了? 我正在考虑以某种方式将FTP连接ID传递给ajax部分,并将其保留在那里直到下一个请求。但在这种情况下,我不确定PHP是否会在我的下一个请求之前关闭FTP连接。而且我不确定如何获取FTP连接ID,因为它是一个PHP“资源”。 虽然这不是一个关键问题,因为我每次发出ajax请求时都可以打开和关闭FTP连接。 – Vasily 2010-07-27 16:46:08
也许我的回答应该以“不,除非......”开头 您提出的问题源于这样一个事实:PHP是一种非常要求以语言为中心的语言,所以没有 - 无法将连接从“向另一个请求(至少:据我所知)。如果FTP连接是在请求A中创建的,那么它将与请求A一起死亡。 其他语言/平台允许您创建与请求没有直接关联的资源,这就是为什么他们会帮助解决这个问题。 知道了 - 我能想到的唯一解决方案是创建一个单独的进程,而不是绑定到您当前的请求:forked – kander 2010-07-27 17:03:56
“如果FTP连接在请求A中创建,那么它将与请求A一起死掉。” - 非常好的和清楚的一点。谢谢! – Vasily 2010-07-27 17:25:35