PHP move_uploaded_file через определенные порты

Итак, я создал проект, где клиент может перетаскивать файлы на наш сервер, и все отлично работает! Теперь меня попросили, чтобы файлы загружались / передавались нашими клиентами через определенный диапазон портов (скажем, между 10000 и 11000 для аргументации). Я не знаю, как это сделать. Моя текущая функция загрузки выглядит примерно так:

Имя файла: Тест / 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 мой.

Я не уверен, что-то вроде кода ниже (из Вот) это путь, я никогда раньше не использовал функцию fsockopen.

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

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

$tend = microtime(true);

fclose($fp);

Все ответы приветствуются. Спасибо.

0

Решение

Поскольку вы хотите, чтобы клиент загружал файл на другой порт, вам нужно будет подключить веб-сервер к этому порту. Вы можете указать текущему серверу прослушивать этот порт, но это ничего не изменит для снижения нагрузки на ваш основной веб-сайт, поэтому необходима отдельная машина. Новая машина должна быть настроена на прослушивание только порта загрузки файлов, но должна содержать ваш сервер (Apache и т. Д.), PHP и иметь доступ к сетевому хранилищу ваших файлов.

Если он у вас есть, вам может потребоваться настроить брандмауэр так, чтобы трафик поступал на правильный компьютер в зависимости от того, на какой порт он отправляется.

Фактический код PHP, который вы используете, на самом деле не будет отличаться от того, что вы работаете сейчас. Ваш JS-код нужно будет обновить, чтобы он отправлял сообщения на сервер, используя порт 10000 или что-то другое.

Вот простая диаграмма, которая может помочь.
Простая схема

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]