2013-08-15 2 views
0

Я пытаюсь загрузить файл с моего веб-сервера на свой игровой сервер через скрипт. Проблема в том, что он не может найти каталог.Файл не будет загружен на ftp-сервер

Полный каталог /174.34.132.106 порт 27015/TF/аддоны/SourceMod/конфиги/tf2items.weapons.txt

Этот путь не работает, поэтому я спросил хостинг об этом и они настаивали на том, что/tf/addons/sourcemod/configs/tf2items.weapons.txt - правильный путь, но это тоже не работает. Игровой сервер работает на сервере Windows, и я уверен, что веб-сервер работает на Linux. Является ли мой код неправильным, мне нужно заменить пробелы в каталоге на% 20. Заранее спасибо!

$ftp_server="174.34.132.106"; 
$ftp_user_name="Username"; 
$ftp_user_pass="Password"; 
    $remote_file = "tf2items.weapons.txt"; 
$file = "weapons/tf2items.weapons.txt";//tobe uploaded 
if(!file_exists($file)) echo "The local file does not exist"; 


$conn_id = ftp_connect($ftp_server) or die('Unable to create the connection'); 

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

ftp_chdir($conn_id, "174.34.132.106 port 27015/tf/addons/sourcemod/configs/"); 
echo ftp_pwd($conn_id); 

if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) { 
    echo "successfully uploaded $file\n"; 
    exit; 
} else { 
    echo "There was a problem while uploading $file\n"; 
    exit; 
    } 

// close the connection 
    ftp_close($conn_id); 
+0

Если вы когда-либо не уверены в каталогах, просто войдите в систему с обычным FTP-клиентом и посмотрите, можете ли вы перемещаться по нему и скопировать точный формат каталога в свой скрипт. – aynber

+0

Это не сработало. – Tony

+0

Какая часть не работает? Переход к каталогу в программе FTP или использование скопированного каталога в ваш скрипт? Если вы не можете перейти к каталогу, и вы не можете перебирать папки из каталога, в котором вы запускаете, вам нужно снова поговорить с хостом. – aynber

ответ

0

Я заметил, что к FTP-серверу, с которым вы подключаетесь, используется нестандартный порт, поэтому, вероятно, не происходит соединение. Вам необходимо указать порт в ftp_connect, например, так:

$ftp_server="174.34.132.106"; 
$ftp_port = "27015"; 
$ftp_user_name="username"; 
$ftp_user_pass="password"; 
$remote_file = "tf/addons/sourcemod/configs/tf2items.weapons.txt"; 
$file = "weapons/tf2items.weapons.txt";//tobe uploaded 


// set up basic connection 
$conn_id = ftp_connect($ftp_server,$ftp_port) or die('Unable to create the connection'); 

Штамп() остановит сценарий, если он не в состоянии сделать соединение. Вы можете добавить то же самое после строки ftp_login, чтобы убедиться, что она действительно регистрируется.

Редактировать Чтобы убедиться, что ваш файл существует, попробуйте это над линией ftp_put.

if(!file_exists($file)) echo "The local file does not exist"; 

Edit 2 После прочтения вниз на ftp_put, это говорит о том, что remote_file не поддерживает каталоги. Сначала вам нужно использовать ftp_chdir.

ftp_chdir($conn_id, "tf/addons/sourcemod/configs/"); 

Тогда для remote_file, используйте только tf2items.weapons.txt. Вы все равно можете использовать пути к файлу для локального файла.

+0

Добавление порта по-прежнему не загружает файл. Это может помочь выявить ошибку. Предупреждение: ftp_put() [function.ftp-put]: система не может найти указанный файл. в /chroot/home/august5t/august5th.org/html/admin/pages/assets/viewweapons.php в строке 230 Возникла проблема при загрузке оружия/tf2items.weapons.txt. Также он находит локальный файл, который я уже проверил что. – Tony

+0

Похоже, он не может найти ваш локальный файл. Я обновил ответ с помощью некоторого кода, чтобы убедиться, что скрипт видит ваш локальный файл. – aynber

+0

Порт, который у вас есть, это порт, на котором работает игровой сервер, а не ftp.Я изменил его обратно на исходный порт, который равен 21, и он все еще не может найти файл на веб-сервере. Однако он может найти файл на локальном сервере. Он также подключается к ftp. – Tony

0

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

«tf/addons/sourcemod/configs» - это не то же самое, что «TF/addons/sourcemod/configs»;

Смежные вопросы