Просмотр полной версии : Php и Ftp
в общем проблемма такая !
в PHP я пользуюсь стандартным способом входа на FTP сервер : ftp://login:pass@url.domen
но есть один недостаток, точнее их многа ну скажем если в Опере это дело ввести, то скроется под звездочки только пароль, а логин открыт; Ослик (IE) все скрывает кроме урла, хрен знает как себя ведут другие броузеры. А вообще современные сайтостроители каким образом осуществляют авторизацию на PHP !!! Или мож есть каманда какая-нить ? или кто подобное делал ? Помогите плиз !
как связаны браузеры и пхп и фтп?
я вот нифига не понял!
а в пхп есть специальные функции ftp_* - почитай про них... может поможет...
Оригинал написал(а) nagash
как связаны браузеры и пхп и фтп?
я вот нифига не понял!
а в пхп есть специальные функции ftp_* - почитай про них... может поможет...
причем PHP- язык программирования, а вот если бы нашел я эту функцию, тагдабы я не спрошивал про нее )))
taras1987
15.04.2004, 08:46
XXXIII. Функции FTP
Введение
Функции этого расширения реализуют клиентский доступ к файловым серверам, называемый File Transfer Protocol FTP, как определено в http://www.faqs.org/rfcs/rfc959.html.
Требования
Эти функции всегда доступны как часть стандартного модуля.
Установка
Чтобы использовать FTP-функции с вашей конфигурацией PHP, вы должны добавить опцию
--enable-ftp при установке PHP 4, и --with-ftp при использовании PHP 3.
Установка
Это расширение не определяет никаких директив конфигурации.
Типы ресурсов
Это расширение использует один тип ресурсов, который является ссылкой-идентификатором ftp-соединения.
Предопределённые константы
Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.
FTP_ASCII (integer)
FTP_TEXT (integer)
FTP_BINARY (integer)
FTP_IMAGE (integer)
FTP_TIMEOUT_SEC (integer)
Примеры
Пример 1. FTP
<?php
// установить базовое соединение
$conn_id = ftp_connect($ftp_server);
// login с username и password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// проверить соединение
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
die;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// загрузить файл
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// проверить статус загрузки
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// закрыть поток FTP
ftp_close($conn_id);
?>
Содержание
ftp_cdup - переходит в родительскую директорию
ftp_chdir - переходит по директориям на FTP-сервере
ftp_close - закрывает FTP-соединение
ftp_connect - открывает FTP-соединение
ftp_delete - удаляет файлы на FTP-сервере
ftp_exec - запрашивает выполнение программы на FTP-сервере
ftp_fget - загружает файл с FTP-сервера и сохраняет в открытом файле
ftp_fput - загружает открытый файл на FTP-сервер
ftp_get_option - запрашивает поведение текущего потока FTP
ftp_get - загружает файл с FTP-сервера
ftp_login - входит в FTP-соединение
ftp_mdtm - возвращает время последнего изменения данного файла
ftp_mkdir - создаёт диреткорию
ftp_nlist - возвращает список файлов в данной директории
ftp_pasv - включает/выключает режим passive
ftp_put - выгружает файл на FTP-сервер
ftp_pwd - Возвращает имя текущей директории
ftp_quit - закрывает FTP-соединение
ftp_rawlist - возвращает детальный список файлов в данной директории
ftp_rename - переименовывает файл на FTP-сервере
ftp_rmdir - удаляет директорию
ftp_set_option - устанавливает различные опции работы FTP
ftp_site - отправляет команду SITE на сервер
ftp_size - Возвращает размер данного файла
ftp_systype - Возвращает системный идентификатор типа удалённого FTP-сервера
Поищи по имени в манах google или yandex
Русский ман: http://phpclub.net/manrus/
в ftp пароль и имя пользователя передаются в открытом виде. вот такой вот протокол. потому и исходить из этого следует - из стандарта, а не из того, на что визуально меняют броузеры логин и пасс
Оригинал написал(а) taras1987
XXXIII. Функции FTP
Введение
Функции этого расширения реализуют клиентский доступ к файловым серверам, называемый File Transfer Protocol FTP, как определено в http://www.faqs.org/rfcs/rfc959.html.
Требования
Эти функции всегда доступны как часть стандартного модуля.
Установка
Чтобы использовать FTP-функции с вашей конфигурацией PHP, вы должны добавить опцию
--enable-ftp при установке PHP 4, и --with-ftp при использовании PHP 3.
Установка
Это расширение не определяет никаких директив конфигурации.
Типы ресурсов
Это расширение использует один тип ресурсов, который является ссылкой-идентификатором ftp-соединения.
Предопределённые константы
Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.
FTP_ASCII (integer)
FTP_TEXT (integer)
FTP_BINARY (integer)
FTP_IMAGE (integer)
FTP_TIMEOUT_SEC (integer)
Примеры
Пример 1. FTP
<?php
// установить базовое соединение
$conn_id = ftp_connect($ftp_server);
// login с username и password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// проверить соединение
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
die;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// загрузить файл
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// проверить статус загрузки
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// закрыть поток FTP
ftp_close($conn_id);
?>
Содержание
ftp_cdup - переходит в родительскую директорию
ftp_chdir - переходит по директориям на FTP-сервере
ftp_close - закрывает FTP-соединение
ftp_connect - открывает FTP-соединение
ftp_delete - удаляет файлы на FTP-сервере
ftp_exec - запрашивает выполнение программы на FTP-сервере
ftp_fget - загружает файл с FTP-сервера и сохраняет в открытом файле
ftp_fput - загружает открытый файл на FTP-сервер
ftp_get_option - запрашивает поведение текущего потока FTP
ftp_get - загружает файл с FTP-сервера
ftp_login - входит в FTP-соединение
ftp_mdtm - возвращает время последнего изменения данного файла
ftp_mkdir - создаёт диреткорию
ftp_nlist - возвращает список файлов в данной директории
ftp_pasv - включает/выключает режим passive
ftp_put - выгружает файл на FTP-сервер
ftp_pwd - Возвращает имя текущей директории
ftp_quit - закрывает FTP-соединение
ftp_rawlist - возвращает детальный список файлов в данной директории
ftp_rename - переименовывает файл на FTP-сервере
ftp_rmdir - удаляет директорию
ftp_set_option - устанавливает различные опции работы FTP
ftp_site - отправляет команду SITE на сервер
ftp_size - Возвращает размер данного файла
ftp_systype - Возвращает системный идентификатор типа удалённого FTP-сервера
Поищи по имени в манах google или yandex
Русский ман: http://phpclub.net/manrus/
Огромное спасибо !!!!
Можешь дать линк на этот учебник ?, если не сложно ?
[QUOTE]Оригинал написал(а) taras1987
[B]XXXIII. Функции FTP
Введение
Функции этого расширения реализуют клиентский доступ к файловым серверам, называемый File Transfer Protocol FTP, как определено в http://www.faqs.org/rfcs/rfc959.html.
...............................
<?
$conn_id = ftp_connect($ftp_server);
// login ? username ? password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
die;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
$upload = ftp_fget($conn_id, $filename, $upfile, FTP_BINARY);#($conn_id, $destination_file, $source_file, FTP_BINARY);
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
ftp_close($conn_id);
?>
а в качестве $filename что нужно занести ?
-путь куда файлик сохранять, но в какой форме его писать писать "с:\test c:/test /test?
или я что-то не понял ?
Оригинал написал(а) Kadabra
а в качестве $filename что нужно занести ?
Имя файла, который лежит на сервере. :)
Оригинал написал(а) Crazy
Имя файла, который лежит на сервере. :)
блин запарился я напиши лучше пример что нужно пихать в переменные, требуелся вывести запрос пользователю о том куда сохранять файлик с ФТП
на котором есть запись к примеру Юзер :roma пароль: rot и путь до файла: ftp://www.site.ru/fele.avi ну как делают на обычнех сайтах жмешь ссылку и те предлогают сохранить файл
Оригинал написал(а) Kadabra
блин запарился я
Когда распаришься -- напиши на внятном русском языке, чего ты хотел.
Оригинал написал(а) Crazy
Когда распаришься -- напиши на внятном русском языке, чего ты хотел.
вобщем нада на PHP написать прогу каторая будет выкидывать табличку о сахранении файла, с запароленного FTP Сервера, в общем как на обычных серваках тыкаешь ссылку, а тыбы выскакивает табличка о сохранении файла, программа должна открывать сессию с FTP сервером, и давать доступ на указанный файл, по завершении закачки сессия закрывается, либо при внезапном разрыве соединения, сама автоматически закрывает сессию.
Во-первых, PHP никаких "табличек о сохранении" выкидывать не может -- PHP находится на сервере.
Твоя задача на самом деле состоит из двух:
1. Как скачать файл на сервер, где стоит PHP, с некоторого запароленного ftp. Решение есть в документации (http://ru.php.net/ftp_get).
2. Как файл, уже лежащий на сервере, выдать пользователю, чтобы его браузер запросил сохранение. В поиск на гугле на предмет "content-disposition php sample".
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.