Перейти к контенту

ищу скрипт для закачки файла на ftp


Рекомендуемые сообщения

Ищу скрипт.

Принцип работы такой:

Я указываю в нём ссылку на файл который нужно скачать и куда скачать. И он всё это делает автоматически.

Желательно что-бы можно было указывать ссылку и ftp и http

ЗАРАНЕЕ СПАСИБО!

Ссылка на комментарий
Поделиться на других сайтах

Что-то я не понял, скачка или закачка.

Скачивание действительно не сложно сделать. Закачку чуть сложнее.

 

Но в любом случае на 5 минут надеяться не следует. Дестрак полгода назад взялся делать звуковые фигни, сказал что недельку делать будет :D

Ссылка на комментарий
Поделиться на других сайтах

Что-то я не понял, скачка или закачка.

Скачивание действительно не сложно сделать. Закачку чуть сложнее.

 

Но в любом случае на 5 минут надеяться не следует. Дестрак полгода назад взялся делать звуковые фигни, сказал что недельку делать будет :D

 

Промерно такая работа скрипта:

Указываю в нём ссылку на файл ->

он её скачивает на сервер (на котором он стоит) ->

потом с этого сервера заливает на фтп который я указал

 

Впринципи всё

Ссылка на комментарий
Поделиться на других сайтах

когда-то написал такую штуку для одного из своих модов.

экземпляр этого класса умеет закачивать :D

<?
class ftp_client
{
	// данные для коннекта
	var $conf_host	 = "url.ru";
	var $conf_login	= "login";
	var $conf_password = "password";
	var $conf_passive  = 0;

	var $conf_work_dir = "ftp_path";

	// прочее
	var $connection;
	var $login;

	var $error = false;
	var $connected = false;

	/////////////////////////////////////////////////////
	// инициализация (по умолчанию сразу коннектимся)
	/////////////////////////////////////////////////////		
	function ftp_client( $connect = true )
	{
		if ( $connect )
			$this->connect();
	}

	/////////////////////////////////////////////////////		
	// соединение с ftp		
	/////////////////////////////////////////////////////		
	function connect()
	{
		$this->error = true;

		$this->conf_host = gethostbyname( $this->conf_host );
		$this->connection = @ftp_connect( $this->conf_host );
		if ( !$this->connection ) return false;

		$this->login = @ftp_login( $this->connection, $this->conf_login, $this->conf_password );
		if ( !$this->login ) return false;

		if ( !@ftp_pasv( $this->connection, $conf_passive ) ) return false;

		@ftp_set_option($conn_id, FTP_AUTOSEEK, true);
		@ftp_set_option($conn_id, FTP_AUTORESUME, true);	

		if ( !@ftp_chdir( $this->connection, $this->conf_work_dir ) ) return false;

		$this->connected = true;
		$this->error = false;

		return true;
	}

	/////////////////////////////////////////////////////		
	// обрываем соединение с ftp
	/////////////////////////////////////////////////////		
	function disconnect()
	{
		if ( $this->connected )
			ftp_close( $this->connection ); 
	}

	/////////////////////////////////////////////////////		
	// существует ли файл в папке?
	/////////////////////////////////////////////////////		
	function isFileExists( $fileName = "" )
	{
		$fileName = urldecode( $fileName );
		$size = @ftp_size( $this->connection, $fileName );

		if ( $size > -1 ) return true;
		else return false;
	}

	/////////////////////////////////////////////////////		
	// удаление файла в текущей папке
	/////////////////////////////////////////////////////		
	function deleteFile( $fileName = "" )
	{
		$fileName = urldecode( $fileName );
		$this->error =  !@ftp_delete( $this->connection, $fileName );

		return $this->error;
	}

	/////////////////////////////////////////////////////		
	// закачка файла
	/////////////////////////////////////////////////////			
	function uploadFile( $fileName = "" )
	{
		$path_parts = pathinfo( $fileName );	

		if ( !@file_exists( $fileName ) )
		{
			$this->error = true;
			return;
		}

		if ( function_exists( 'ftp_nb_put' ) )
		{
			$res = @ftp_nb_put( $this->connection, $path_parts['basename'], $fileName, FTP_BINARY );
			while ( $res == FTP_MOREDATA )
				$res = @ftp_nb_continue( $this->connection );
		}
		else
		{
			$res = @ftp_put( $this->connection, $path_parts['basename'], $fileName, FTP_BINARY );
		}		

		if ( !$res ) $this->error = true;
	}

	function fileSize( $fileName = "" )
	{
		$fileName = urldecode( $fileName );
		return @ftp_size( $this->connection, $fileName );		
	}
}
?>

 

пример возъюзывания:

<?
require_once( "ips_kernel/class_ftp.php" );
$ftp = new ftp_client();

// закачиваем файл untitled-2.jpg на ftp
if ( !$ftp->error )
{
	$ftp->uploadFile( "Untitled-2.jpg" );
}

$ftp->disconnect();
?>

 

на оригинальность вряд ли претендую ;)

но работает.

 

а как скачать тут можно найти:

http://www.google.com/search?hl=ru&cli...1%D0%BA&lr=

 

по первым ссылкам.

Ссылка на комментарий
Поделиться на других сайтах

Что-то я не понял, скачка или закачка.

Скачивание действительно не сложно сделать. Закачку чуть сложнее.

 

Но в любом случае на 5 минут надеяться не следует. Дестрак полгода назад взялся делать звуковые фигни, сказал что недельку делать будет ;)

А я так и не понял, как кроссбраузерно воткнуть звук :D

Ссылка на комментарий
Поделиться на других сайтах

вроде в combochat'е работает оповещение. у меня на firefox и flock'е пахает. глянул бы там.

Спасибо, гляну.

 

А где этот оповещение?

Изменено пользователем Destruction
Ссылка на комментарий
Поделиться на других сайтах

ссылка сверху.

 

cbc_main.js

function callCombochat() и иже с ним

подгружает флешку со звуком, да воспроизводит, насколько я понял.

Изменено пользователем .silent
Ссылка на комментарий
Поделиться на других сайтах

Я имел ввиду куда нажать )

 

Флешка со звуком меня не устраивает, обсуждалось уже - ну незнаю я куда тыкать во флеше )

Ссылка на комментарий
Поделиться на других сайтах

Destruction, я и говорю - ссылка сверху в чате "позвать в чат".

the best, в смысле? O.o

 

Где что надо прописывать. Ну там адрес фтп и и т.д.

Ссылка на комментарий
Поделиться на других сайтах

Где что надо прописывать. Ну там адрес фтп и и т.д.

а

// данные для коннекта

var $conf_host = "url.ru";

var $conf_login = "login";

var $conf_password = "password";

var $conf_passive = 0;

 

var $conf_work_dir = "ftp_path";

никаких мыслей не вызывают ?

Ссылка на комментарий
Поделиться на других сайтах

Где что надо прописывать. Ну там адрес фтп и и т.д.

а

// данные для коннекта

var $conf_host = "url.ru";

var $conf_login = "login";

var $conf_password = "password";

var $conf_passive = 0;

 

var $conf_work_dir = "ftp_path";

никаких мыслей не вызывают ?

 

Это я понял. Больше ничего?

Ссылка на комментарий
Поделиться на других сайтах

Посмотрите вот этот скрипт, как вы думаете будет работать?

 

#!/usr/bin/perl
use Net::FTP;

$ftp = Net::FTP->new( 'ftp.server.com' );
$ftp->login( 'ftp', 'my@email.com' );
$ftp->cwd( '/very/long/path/to/wanted/file/on/this/server' );
$ftp->get( 'file.that.i.want' );
$ftp->quit;

print "Content-type:text/html\n\n";
print "file was downloaded";

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.