Закачка в удаленную папку....

peril
На сайте с 29.05.2006
Offline
213
540

Подскажите плиз... Есть 2 сервера. Есть скрипт:

<?php

ini_set('memory_limit', '512M');

set_time_limit(60);

if (isset($_REQUEST['size']) && $_REQUEST['size']!='') {

$size = intval($_REQUEST['size']);

if ($size>0) {

if (!file_exists('testfiles/testfile_'.$size)) {

$res = str_repeat('=', 1024);

$file = 'testfiles/testfile_'.$size;

$fh = fopen($file, 'w');

for ($i=0; $i<$size; $i++) {

fwrite($fh, $res);

}

fclose($fh);

//file_put_contents('testfiles/testfile_'.$size, $res);

}

$file = 'testfiles/testfile_'.$size;

//header('Location: '.$file);

header ("Content-Type: application/octet-stream");

header ("Accept-Ranges: bytes");

header ("Content-Length: ".filesize($file));

header ("Content-Disposition: attachment; filename=".$file);

readfile($file);

}

}

?>

Работает с локальной папкой testfiles

Можно ли сделать чтобы работала с удаленной папкой на другом сервере... например ставлю права на ту папку 777 и прописываю пути:

$file = 'http://myserver.com/testfiles/testfile_'.$size;

но ничего не записывается в нее.. Наверное нужно крутить настройки сервака еще.. Подскажите плиз кто знает..

[Удален]
#1

тут надо использовать функции ftp_*()

Пример из мана:


<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// загрузка файла
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "$file загружен на сервер\n";
} else {
echo "Не удалось загрузить $file на сервер\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

wdsg
На сайте с 09.02.2009
Offline
31
#2

peril, если Вы хотите работать с файловой системой удалённого сервера именно по HTTP, в любом случае, необходима установка на целевом сервере ответной части кода. Будь это публичный файл-менеджер или специально разработанное решение для закачки, определенное количество кода придётся разместить на том сервере, в файловою систему которого планируется доступ.

Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
Cheltap
На сайте с 27.11.2008
Offline
30
#3
wdsg:
peril, если Вы хотите работать с файловой системой удалённого сервера именно по HTTP, в любом случае, необходима установка на целевом сервере ответной части кода. Будь это публичный файл-менеджер или специально разработанное решение для закачки, определенное количество кода придётся разместить на том сервере, в файловою систему которого планируется доступ.

На том хосте конечно же уже есть ftp- и/или ssh-сервер,

так что никакой код туда добавлять уже не надо...

Следует корректно написать клиентскую программу

(на первом компе) - реализовать в ней нужную функциональность.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий