[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ФТП загрузка файла
DenisovVSh
Доброго времени суток.

хочу воспользоваться скриптом для загрузки файлов через фтп
<?php
// установка соединения
$conn_id = ftp_connect($ftp_server);

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

// проверка соединения
if ((!$conn_id) || (!$login_result)) {
echo "Не удалось установить соединение с FTP сервером!";
echo "Попытка подключения к серверу $ftp_server под именем $ftp_user_name!";
exit;
} else {
echo "Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
}

// закачивание файла
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// проверка результата
if (!$upload) {
echo "Не удалось закачать файл!";
} else {
echo "Файл $source_file закачен на $ftp_server под именем $destination_file";
}

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


не могу разобраться со строкой:
// закачивание файла
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);


интересует именно:
, $destination_file, $source_file,

насколько понял в этих переменных надо указать пути 1)куда загрузить 2) откуда.

Может кто нибудь прокомментирует этот скрипт, интересует как получить полный путь файла, откуда ...

Спосибо.



Спустя 12 минут, 2 секунды (7.07.2010 - 11:38) linker написал(а):
$source_file - либо полный путь, либо относительный от папки, в которой выполняется скрипт.

Спустя 8 минут, 5 секунд (7.07.2010 - 11:46) DenisovVSh написал(а):
Цитата (linker @ 7.07.2010 - 09:38)
$source_file - либо полный путь, либо относительный от папки, в которой выполняется скрипт.

это путь того файла, который я хочу загрузить? или чего?

Спустя 35 минут, 12 секунд (7.07.2010 - 12:21) linker написал(а):
Да.
Source - откуда
Destination - куда.

Спустя 1 час, 3 минуты, 35 секунд (7.07.2010 - 13:25) DenisovVSh написал(а):
может подскажете способ извлечения полного пути, откуда.

форма передает методом $_POST['file'] и я могу извлечь только имя файла
$_FILES['file']['name'];

Спустя 8 минут, 49 секунд (7.07.2010 - 13:34) linker написал(а):
Как не парадоксально, но путь ты сам указываешь. Если ты заливаешь файл на сервер, то прежде чем что-либо сделать с ним, его необходимо куда скопировать из тэмповой папки. Допустим, что твой скрипт работает в некой папке, а файлы хранишь по относительному пути от текущей ./files
// расписываю подробно, чтобы было понятнее
$FilesPath = './files';
$RealFilename = $_FILES['file']['name'];
$TempFilename = $_FILES['file']['tmp_name'];
move_uploaded_file($TempFilename, $FilesPath . '/' . $RealFilename);
...

$destination_file = $RealFilename; // Путь назначения
$source_file = $FilesPath . '/' . $RealFilename; // Путь к локальному файлу
ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

Не забываем про права доступа.

Спустя 38 минут, 28 секунд (7.07.2010 - 14:12) DenisovVSh написал(а):
как быть, если не известно из какой папки пользователь будет загружать фаилы??

Спустя 3 минуты, 23 секунды (7.07.2010 - 14:15) linker написал(а):
Пользователь загружает файлы на сервер сначала в темповую папку - $_FILES['file']['tmp_name'], потом ты должен перенести этот файл в папку, придуманную и установленную именно тобой, функцией move_uploaded_file(), что я и показал в примере. Потом берешь этот файл и заливаешь уже из известной тебе папки на фтп.

Спустя 12 минут, 39 секунд (7.07.2010 - 14:28) DenisovVSh написал(а):
понятно, а если это большой фаил примерно 100мб, то при помощи функции move_uploaded_file() не получится загрузить фаил. Просто на сервере по умолчанию максимум 10мб, можно расширить до 30мб. Поэтому в общем я и решил использовать фтп. Может я чего не пойму?

Спустя 3 минуты, 45 секунд (7.07.2010 - 14:32) linker написал(а):
Нет, через HTTP можно залить только постом и размером, установленным в настройках PHP. Если хочешь, чтобы пользователь заливал сначала на фтп, а потом уже как-то перезаливалось на веб-сервер, то тут уже совершенно другой механизм.

Спустя 6 минут, 7 секунд (7.07.2010 - 14:38) DenisovVSh написал(а):
linker
Может просветишь о подробностях этого механизма?
Если конечно не трудно или рабочий скрипт подскажешь где взять.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.