[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не подключается к фтп
Haier
У меня есть приватный фтп, мне нужно на сайт вставить категорию с этого фтп, сайт поддерживает php. Нужен код для отображения. Напишите пожалуйста, лучше свои любые логин, пароль, серв и тд. А то сколько не искал по стандарту не делается, На сайте просто пусто. Пример вот http://css. sibnet .ru/demos/cw/

Пытался:
<?php
// установка соединения
$conn_id = ftp_connect(90.189.192.130);

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

// проверка соединения
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);
?>

В результате на сайте просто пустое место 0_о



Спустя 13 минут, 43 секунды (2.02.2012 - 18:43) walerus написал(а):
error_reporting(E_ALL); в начало скрипта, и на запуск, что напишет скрипт и что он вообще сообщает по ходу пьесы ?

Спустя 12 минут, 19 секунд (2.02.2012 - 18:55) Haier написал(а):
Там где я делал модуль, на странице убирается стиль, остается только 1 страница с сайтом(Главная и тд) и все. А если открыть напрямую:
Ошибка сервера
На веб-сайте произошла ошибка при получении http://fr.w2c.ru/mod_mymod1.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.

Спустя 5 минут, 18 секунд (2.02.2012 - 19:00) Haier написал(а):
А через другой браузер - чистая страница

Спустя 24 минуты, 56 секунд (2.02.2012 - 19:25) walerus написал(а):
Ты просто попробуй создать ftp коннект, без модулей, проверь все ли нормально или нет, а потом его монтируй в модули...

Спустя 15 минут, 47 секунд (2.02.2012 - 19:41) Haier написал(а):
То есть как? Напрямую открыть php файл? Я же написал:
Ошибка сервера
На веб-сайте произошла ошибка при получении http://fr.w2c.ru/mod_mymod1.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.

Спустя 7 минут, 25 секунд (2.02.2012 - 19:48) Haier написал(а):
Я просто вообще полный нуб в этом деле

Спустя 21 минута, 56 секунд (2.02.2012 - 20:10) walerus написал(а):
<?php

// Настройки FTP
$ftp_server = 'СЮДА АДРЕС ФТП СЕРВЕРА';
$ftp_user_name = 'СЮДА ЛОГИН';
$ftp_user_password = 'СЮДА ПАРОЛЬ';

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

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

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

$source_file = 'ПУТЬ ДО ФАЙЛА КОТОРЫЙ ХОТИМ ЗАКАЧАТЬ';
$destination_file = 'ПОД КАКИМ ИМЕНЕМ ЕГО СОХРАНИТЬ НА СЕРВЕРЕ';

// закачивание файла
$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);
?>

Файл, будет сохранен в корне FTP, если естественно разрешена запись. И ответь наконец, он пишет что установил соединение с сервером или нет ?

Спустя 5 часов, 57 минут, 51 секунда (3.02.2012 - 02:08) Haier написал(а):
Цитата
Файл, будет сохранен в корне FTP, если естественно разрешена запись. И ответь наконец, он пишет что установил соединение с сервером или нет ?

Понимаете, я брал просто код который по стандарту, я не нашел ситуацию который нужен мне, этот код также не тот, мне нужно просто на сайте отобразить каталог service189/css/css/cstrike/warmod , в этом каталоге файлы, которые будут скачивать люди ohmy.gif

Спустя 1 час, 12 минут, 7 секунд (3.02.2012 - 03:20) Haier написал(а):
Так, я написал:
<?php

// Настройки FTP
$ftp_server = '90.189.192.130';
$ftp_user_name = '***';
$ftp_user_password = '***';

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

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

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

$buff = ftp_rawlist($conn_id, '/');

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

var_dump($buff);
?>

У меня получилось следующие:
Установлено соединение с FTP сервером 90.189.192.130 под именем ***array(30) { [0]=> string(84) "-r--r--r-- 1 1151 1151 2004 Feb 01 18:04 2012-02-01-1803-de_dust2.log" [1]=> string(84) "-r--r--r-- 1 1151 1151 14584620 Feb 01 20:51 2012-02-01-2012-de_dust2.dem" [2]=> string(84) "-r--r--r-- 1 1151 1151 962976 Feb 01 20:51 2012-02-01-2012-de_dust2.log" [3]=> string(86) "-r--r--r-- 1 1151 1151 8036188 Feb 01 21:42 2012-02-01-2122-de_inferno.dem" [4]=> string(86) "-r--r--r-- 1 1151 1151 522716 Feb 01 21:42 2012-02-01-2122-de_inferno.log" [5]=> string(84) "-r--r--r-- 1 1151 1151 8658312 Feb 01 22:28 2012-02-01-2207-de_dust2.dem" [6]=> string(84) "-r--r--r-- 1 1151 1151 705979 Feb 01 22:28 2012-02-01-2207-de_dust2.log" [7]=> string(83) "-r--r--r-- 1 1151 1151 20256330 Feb 01 23:27 2012-02-01-2244-de_nuke.dem" [8]=> string(83) "-r--r--r-- 1 1151 1151 1058028 Feb 01 23:27 2012-02-01-2244-de_nuke.log" [9]=> string(84) "-r--r--r-- 1 1151 1151 9535456 Feb 02 13:48 2012-02-02-1324-de_dust2.dem" [10]=> string(84) "-r--r--r-- 1 1151 1151 698330 Feb 02 13:48 2012-02-02-1324-de_dust2.log" [11]=> string(86) "-r--r--r-- 1 1151 1151 16168141 Feb 02 14:30 2012-02-02-1351-de_inferno.dem" [12]=> string(86) "-r--r--r-- 1 1151 1151 865049 Feb 02 14:30 2012-02-02-1351-de_inferno.log" [13]=> string(84) "-r--r--r-- 1 1151 1151 269130 Feb 02 14:45 2012-02-02-1444-de_dust2.dem" [14]=> string(84) "-r--r--r-- 1 1151 1151 8530 Feb 02 14:44 2012-02-02-1444-de_dust2.log" [15]=> string(84) "-r--r--r-- 1 1151 1151 239155 Feb 02 14:49 2012-02-02-1449-de_dust2.dem" [16]=> string(84) "-r--r--r-- 1 1151 1151 3842 Feb 02 14:49 2012-02-02-1449-de_dust2.log" [17]=> string(84) "-rw-rw-rw- 1 1151 1151 13110827 Feb 02 17:49 2012-02-02-1714-de_dust2.dem" [18]=> string(84) "-rw-rw-rw- 1 1151 1151 951949 Feb 02 17:49 2012-02-02-1714-de_dust2.log" [19]=> string(86) "-rw-rw-rw- 1 1151 1151 12239134 Feb 02 18:34 2012-02-02-1759-de_inferno.dem" [20]=> string(86) "-rw-rw-rw- 1 1151 1151 784168 Feb 02 18:33 2012-02-02-1759-de_inferno.log" [21]=> string(83) "-rw-rw-rw- 1 1151 1151 12084054 Feb 02 19:26 2012-02-02-1858-de_nuke.dem" [22]=> string(83) "-rw-rw-rw- 1 1151 1151 704413 Feb 02 19:25 2012-02-02-1858-de_nuke.log" [23]=> string(84) "-rw-rw-rw- 1 1151 1151 9816906 Feb 02 20:05 2012-02-02-1937-de_dust2.dem" [24]=> string(84) "-rw-rw-rw- 1 1151 1151 770832 Feb 02 20:04 2012-02-02-1937-de_dust2.log" [25]=> string(84) "-rw-rw-rw- 1 1151 1151 9535221 Feb 02 21:16 2012-02-02-2049-de_dust2.dem" [26]=> string(84) "-rw-rw-rw- 1 1151 1151 822379 Feb 02 21:16 2012-02-02-2049-de_dust2.log" [27]=> string(84) "-rw-rw-rw- 1 1151 1151 86962176 Feb 03 07:16 2012-02-02-2122-de_dust2.dem" [28]=> string(84) "-rw-rw-rw- 1 1151 1151 1818624 Feb 02 23:20 2012-02-02-2122-de_dust2.log" [29]=> string(66) "-r--r--r-- 1 1151 1151 290 Feb 01 16:35 readme.txt" }
Теперь нужно вывести как веб интерфейс для скачки как тут http://css.sibnet.ru/demos/cw/
Это нужно использовать скрипт для поиска ссылок, так?

Спустя 11 часов, 24 минуты, 2 секунды (3.02.2012 - 14:44) walerus написал(а):
А зачем такие манипуляции творить ? Доступ к приватному ФТП есть из сети ?, ну, то есть по http://myhost.com/service189/css/css/cstrike/warmod или как там будет...

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

Цитата
Теперь нужно вывести как веб интерфейс для скачки как тут http://css.sibnet.ru/demos/cw/
это не WEB интерфейс, это не закрытая от просмотра папка...

Спустя 1 час, 2 минуты, 12 секунд (3.02.2012 - 15:46) Haier написал(а):
Цитата
это не WEB интерфейс, это не закрытая от просмотра папка...

Я понял. =/ Мне нужно просто на сайте отобразить категорию, так как в категорию льются файлы автоматически. Открыть фтп я не могу, так как полноценного доступа нет, захожу только через логин и пароль. Если сделать просто в хтмл, то при скачке файла идет ссылка с моего фтп, а там логин и пароль в адресной строке, это мне вообще не нужно.

Спустя 1 минута, 48 секунд (3.02.2012 - 15:48) Haier написал(а):
Я просто думал, что есть возможность предоставить ftp как http и скачивать файлы не идя моих данных... Есть идеи?

Спустя 8 минут, 16 секунд (3.02.2012 - 15:57) walerus написал(а):
Да, идея есть, можно вывести Веб интерфейс, со списком Ваших файлов, НО, при нажатии на ссылку, должно произойти следующее, Ваш скрипт, должен залогинится на фтп, забрать от туда файл себе во временную папку, отдать юзеру, удалить временный файл. Вот как то так. В чем трудности, в написании веб интерфейса или в том как забрать/отдать файл юзеру ?

Спустя 2 часа, 21 минута, 31 секунда (3.02.2012 - 18:18) Haier написал(а):
Цитата
В чем трудности, в написании веб интерфейса или в том как забрать/отдать файл юзеру ?

Трудности во всем =/
Напишите этот код и скрипт, у меня знаний не хватает

Спустя 3 дня, 4 часа, 58 минут, 31 секунда (6.02.2012 - 23:17) walerus написал(а):
Вот набросал, надеюсь разберешься, функцию function file_download(); честно нашел в интернете, не стал изобретать велосипед.

У тебя на ftp сервере и на домене, должна быть папка "catalog".

На ftp сервере в ней хранятся файлы, которые нужно показывать на скачивание
На домене, в эту папку будут складываться уже вызванные файлы, чтоб не качать по ..надцать раз их.

Если чего не так, подкорректируешь )



<?php
set_time_limit(0);
error_reporting(E_ALL);

// Настройки FTP
$ftp_server = 'FTP_SERVER';
$ftp_user_name = 'FTP_LOGIN';
$ftp_user_password = 'FTP_PASSWORD';

// Папка в которой будут сохраняться загруженные файлы
$folder = 'catalog';

function file_download($filename, $mimetype='application/octet-stream')
{
if (file_exists($filename)) {
header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
header('Content-Type: ' . $mimetype);
header('Last-Modified: ' . gmdate('r', filemtime($filename)));
header('ETag: ' . sprintf('%x-%x-%x', fileinode($filename), filesize($filename), filemtime($filename)));
header('Content-Length: ' . (filesize($filename)));
header('Connection: close');
header('Content-Disposition: attachment; filename="' . basename($filename) . '";');
// Открываем искомый файл
$f=fopen($filename, 'r');
while(!feof($f)) {
// Читаем килобайтный блок, отдаем его в вывод и сбрасываем в буфер
echo fread($f, 1024);
flush();
}
// Закрываем файл
fclose($f);

} else {
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
header('Status: 404 Not Found');
}
exit;
}

if ( isset( $_REQUEST['file'] ) && trim( $_REQUEST['file'] ) != '')
{
## Проверяем на существование файл и если есть - отдаем
$temp_list_dat = file( 'temp_list.dat' );
$remote_file = $folder.'/'.trim( $_REQUEST['file'] );

if ( !in_array( trim( $_REQUEST['file'] ), $temp_list_dat ) )
{
echo "File Not Exist"; exit;
}

if ( !file_exists( $remote_file ) )
{
$handle = fopen($remote_file, 'w');

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

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

// попытка скачивания файла
if ( !ftp_fget($conn_id, $handle, $remote_file, FTP_BINARY, 1) )
{
echo "ERROR Open File - $remote_file\n";
exit;
}
}


file_download( $remote_file );
exit;
}

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

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

$contents = array();
// проверка соединения
if ( $conn_id && $login_result )
{
// Получаем список файлов из директории
$contents = ftp_nlist($conn_id, $folder );

if ( count($contents) )
{
foreach( $contents as $contents_key => $contents_value );
$contents[$contents_key] = trim( str_replace( $folder.'/', '', $contents_value ) );

// Временный файл с данными о файлах, чтоб не дергать все время фтп
file_put_contents( 'temp_list.dat', implode( "\r\n", $contents ) );
}
}


## Выводим "дизайн"
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<
html>

<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
title>Index of /<?php echo $folder;?></title>
</
head>

<
body>
<
h1>Index of /<?php echo $folder;?></h1>

<?php
if ( !empty( $contents ) )
{
?>
<ul>
<?php
foreach( $contents as $contents_key => $contents_value );
{
?>
<li><a href="?file=<?php echo $contents_value; ?>"><?php echo $contents_value; ?></a></li>
<?php
}
?>
</ul>
<?php
}
?>
</body>
</
html>
Быстрый ответ:

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