ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Автоматичная закачка файла - альтернатива FTP ?
  #1  
Старый 30.04.2010, 05:13
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
Question Автоматичная закачка файла - альтернатива FTP ?

Таак, написал automatic remote backup tool, PHP скрипт дампит MySQL базы, записывает их локально и закачивает на удаленный FTP...

Только вот проблем...
Хост ругается: ftp_put() [function.ftp-put]: php_connect_nonb() failed: Operation now in progress (115) (2)

Саппорт отвечает: We do not allow the FTP functions to be used against remote FTP servers.

Так вот ищу простую альтернативу ftp_*, есть идея передавать имя файла (которое генерируется разное!) GET запросом удаленному скрипту, а тот скачает и запишет файл.

Но как реализовать, вообще не думается
Буду благодарен за куски кода, примеры, обяснения...

Спасибо что дочитали
 
Ответить с цитированием

  #2  
Старый 30.04.2010, 06:08
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Ну например так:

1 хост, который делает дамп:
PHP код:
<?php
/* 
{
Тут делаешь дамп и сораняешь файл локально
}
*/

$damp_file "db.sql"//Тут имя файл который сдампился
echo file_get_contents("http://my_server_2/saver.php?file=".$damp_file); //Тут ты передаешь хосту №2 какой файл ему скачивать
?>
Хост №2 который скачивает
PHP код:
<?php
$server_1 
"http://server_nomer_1/"//Тут адрес сервера откуда скачивать
$dump_file $_GET['file'];
$file_prefix "saved_";
if(
file_put_contents($file_prefix.$dump_file,file_get_contents($server_1.$dump_file))) {
echo 
"File_saved!";
}else echo 
"File dont saved";
?>
Ну впринципе и все. 1 скрипт напишет File_saved! если файл успешно скачен вторым сервером. На втором сервере появится файл saved_db.sql

Ну думаю схема понятна. )))

Если файл большой, то во втором скрипте скачивай "побайтово".
функция fread()
//практикуем убийство серверов?)))

Последний раз редактировалось m0Hze; 30.04.2010 в 15:27..
 
Ответить с цитированием

  #3  
Старый 30.04.2010, 17:58
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
По умолчанию

Ожидается что будет большой, и еще 50 штук таких... Базы phpBB3 =)
Иначе все понятно, спасибо огромное, щас в репу стукну

Няя, я не убиец =) Я наемный убиец =) ...а так, сайто строитель...
 
Ответить с цитированием

  #4  
Старый 30.04.2010, 22:50
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

скрипт, который дампит (в переменной $server указать путь до скрипта, который скачивает):
Код:
<?php

/*тут дамп в переменную $dump*/

$server = 'http://fsdfdsf.ru/example.php'; //путь до второго файла

@ini_set('max_execution_time', 0);
$name = "dump".date("YmdHis").".sql";
if( @file_put_contents( $name, $dump ) )
{

	echo 'Сохранили дамп...'.PHP_EOL;
	$path = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"].$name;
	$content = file_get_contents( $server.'?put='.urlencode($path) );
	if( $content == 'success' ) echo 'Сервер успешно сохранил наш дамп.'.PHP_EOL;
	else echo 'Серверу не удалось сохранить наш дамп.'.PHP_EOL;

} else echo 'Дамп сохранить не удалось. Проверь chmod.';

?>
скрипт для сохранения дампа:
Код:
<?php

$dir = '/dumps/'; //папка с дампами

$file = "http://".stripslashes(urldecode(trim($_GET['put'])));
if( file_put_contents( $dir."dump".date("Y-m-d+H-i-s"), file_get_contents($file) ) )
{

die('success');

} else die('false');


?>
/*писалось на скорую руку, подправьте если что не так*/
 
Ответить с цитированием

  #5  
Старый 01.05.2010, 15:10
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

^_WhitE_DeMoN_^ если блокируются только функции ftp_*, напишите свой класс на сокетах, благо FTP - простейший протокол

Или еще проще:
PHP код:
file_put_contents("ftp://user:password@ftp.server.ru/file.txt"file_get_contents('имя_локального_файла')); 
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #6  
Старый 02.05.2010, 02:56
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
Thumbs up

Цитата:
Сообщение от Gifts  
Или еще проще:
PHP код:
file_put_contents("ftp://user:password@ftp.server.ru/file.txt"file_get_contents('имя_локального_файла')); 
Удивил, проще некуда! Но, пока сделал первый вариант... И хз че еще у хостера запрещенно
 
Ответить с цитированием

  #7  
Старый 09.05.2010, 01:39
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
По умолчанию

Цитата:
Сообщение от LStr1ke  
Ну например так:

1 хост, который делает дамп:
PHP код:
<?php
/* 
{
Тут делаешь дамп и сораняешь файл локально
}
*/

$damp_file "db.sql"//Тут имя файл который сдампился
echo file_get_contents("http://my_server_2/saver.php?file=".$damp_file); //Тут ты передаешь хосту №2 какой файл ему скачивать
?>
Хост №2 который скачивает
PHP код:
<?php
$server_1 
"http://server_nomer_1/"//Тут адрес сервера откуда скачивать
$dump_file $_GET['file'];
$file_prefix "saved_";
if(
file_put_contents($file_prefix.$dump_file,file_get_contents($server_1.$dump_file))) {
echo 
"File_saved!";
}else echo 
"File dont saved";
?>
Ну впринципе и все. 1 скрипт напишет File_saved! если файл успешно скачен вторым сервером. На втором сервере появится файл saved_db.sql

Ну думаю схема понятна. )))

Если файл большой, то во втором скрипте скачивай "побайтово".
функция fread()
//практикуем убийство серверов?)))
Хост ругается:
Цитата:
file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration (2)
Идеи
 
Ответить с цитированием

  #8  
Старый 12.05.2010, 03:26
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
По умолчанию

У никого ?
 
Ответить с цитированием

  #9  
Старый 12.05.2010, 08:29
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от ^_WhitE_DeMoN_^  
У никого ?
Помоему, вот этот параметр в php.ini
allow_url_fopen=on;
 
Ответить с цитированием

  #10  
Старый 12.05.2010, 10:11
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
По умолчанию

Нет доступа к php.ini
Ищу обход...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшой F.A.Q по BAT/CMD OneSelf Windows 12 03.03.2010 20:55
Общие сведения о Ftp уязвимостях. ReVOLVeR Чужие Статьи 0 15.09.2006 19:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ