PHP move_uploaded_file通过特定端口

时间:2015-07-20 21:57:53

标签: php port file-transfer

好的,所以我创建了一个项目,客户端可以将文件拖放到我们的服务器上,一切都很棒!现在我被要求拥有我们的客户通过特定端口范围上传/传输的文件(假设参数介于10000和11000之间)。我不知道如何做到这一点。我目前的上传功能如下所示:

文件名: test / upload.php

$dir = "path/to/directory/";
$tempFile = $_FILE['file']['tmp_name'];
$tagetFile = $dir.$_FILE['file']['name'];
move_uploaded_file($tempFile, $targetFile);

$_FILE是上传的文件。

请忽略上述代码中的任何语法或拼写错误,此刻它完美无缺。我已经删除了很多代码,以便简单地了解我的代码当前正在做什么。

如果要对PHP进行任何配置更改,他们需要专门定位此目录,因为我们的其他网站需要保留在当前端口上。我不确定从哪里开始指定用于文件传输的端口。文件传输纯粹是客户端到服务器,反之亦然。我们确实有一个FTP服务器设置,但是如果可能的话,我们希望不再使用它。我不确定我能问的是否可能。

我正在使用Dropzone.js插件(来自这里:http://www.dropzonejs.com/),但所有PHP代码都是我的。

我不确定下面的代码(来自here)之类的东西是否可行,我以前从未使用过fsockopen函数。

$fp = fsockopen($host, $port, $errno, $errstr, $timeout); 

$responding = 1;
if (!$fp) { $responding = 0; } 

$tend = microtime(true);

fclose($fp);

欢迎所有答案。谢谢。

1 个答案:

答案 0 :(得分:0)

由于您希望客户端在不同的端口上传文件,您需要在该端口上站起来一个Web服务器。您可以告诉当前服务器在该端口上侦听,但这对减少主网站的负载没有任何作用,因此需要单独的计算机。必须将新机器设置为仅侦听文件上载端口,但需要包含您的服务器(Apache等),PHP,并且可以访问文件的网络存储位置。

如果您有防火墙,则可能需要配置防火墙,以便根据发送到哪个端口,流量进入正确的计算机。

您使用的实际PHP代码与您现在使用的实际PHP代码没有任何不同。您的JS代码需要更新,以便使用端口10000或您选择的任何内容发布到服务器。

这是一个可能有用的简单图表。 Simple diagram