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

ищу скрипт для закачки файла на 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";

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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