Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > загрузка файлов


Автор: Xpan!teL 16.11.2005, 04:24
возможно ли загрузка файлов с одного сайта, на другой (задать адреса файлов, а тебе твой вэб сервер/скрипт загрузет его к себе на сервер) ? если да то привидите пример. заранее спасибо.

Автор: patt 23.11.2005, 22:24
Например так:

<?
$from = "http://udaff.com/image/175/17524.jpg";
$to = "./pic.jpg";
if(copy($from,$to))
echo "copied";
?>

Только нужно выставить права на директорию.... smile

Автор: Mal Hack 23.11.2005, 22:38
Не будет так работаь RTFM.
Либо сокеты, либо FTP.

Автор: patt 23.11.2005, 23:30
Не знаю, что такое RTFM, но у меня код работает.... smile

Автор: wsr 7.1.2006, 13:08
Вот тебе готовый вариант!
парнишка из комманды написал!
Я б тоже написал, но у мя времени небыло! Короче юзай!
Заливаешь к себе на сервер и пользушься!

Код

<?
###########Copyright(c)#########
# Script Written by Ra1n0      #
# Lock-Team(www.lock-team.com) #
# ICQ# 334855                  #
# (c)2006 Ra1n0                #
################################
#######CONFIGS################
$vers="0.2 beta test";
##############################
$execstart = mtime();
function mtime(){
list($msec, $sec) = explode(" ", microtime());
return $sec + $msec;
}
set_time_limit(0);
ignore_user_abort(1);
error_reporting(0);
$coop = "PGJyPjxmb250IGNvbG9yPWdyYXk+U2NyaXB0IFdyaXR0ZW4gYnkgUmExbjA8YnI+SUNRIyAzMzQ4NTU=";
if($_POST['post']){
$web=$_POST['web'];
$pieces = explode("/", $web);
if (is_array($pieces)) {
$c = count($pieces);
$c--;
$file =  $pieces[$c];
}
$download=file_get_contents($web);
if(!isset($web) or empty($web)) {
$result="</font><font color=red>Не введена ссылка для закачки!";
$total_1=false;
}else{
$total_1=true;
}if(file_exists($file)){
$result="</font><font color=red>Такой фаил($file) уже есть на сервере в этой директории!";
$total_2=false;
}else{
$total_2=true;
}
if(($download==false)){
$result="</font><font color=red>Такой фаил не найден по ссылке $web";
$total_3=false;
}else{
$total_3=true;
}
if(($total_1==true) and ($total_2==true) and ($total_3==true)){
$mkf=fopen($file,"w");
fwrite($mkf,$download);
fclose($mkf);
$length=filesize($file);
$exectime = mtime() - $execstart;
$print=$exectime;
function file_size($size)
{
   $filesizename = array(" Байтов", " Кб", " Мб", " Гб", " Тб");
   return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
}
$result="..:: Фаил скачен!!! ::..<br><font color=red>[</font> $file <font color=red>]</font><br>Размер файла: ".file_size($length)."<br>Закачка заняла: $print секунд.";
}
}
$realpathto=$_SERVER['DOCUMENT_ROOT'];
$dfs = disk_free_space($realpathto);
$dts = disk_total_space($realpathto);
?><title>Ra1n0's PHP Server-To-Server File Downloader</title>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<style>
input{
color: red;
border: 1px;
background-color: #222222;
border-color: red;
}
</style>
</head>
<body bgcolor=black>
<center>
<table border=1 cellpadding=30 cellspacing=0>
<tr><td>
<form method=post>
<center><h3><font color=green>Ra1n0's PHP Server-To-Server File Downloader<br>Version <?=$vers ?></font></h3>
<b><font face=verdana color=white size=2>Введи адрес файла на закачку:<br></font></b>
<font face=verdana color=white size=1>пример: http://www.lock-team.com/labuda.exe<br>Скачивает файлы только с прямых ссылок!<br>Файлы закачиваются в ту дирикторию где лежит этот скрипт....<br>
<h7><font color=red>Внимание указывать ссылку с http://</font></h7>
</font>
<br>
<input name=web size=57 autocomplete=off><br>
<input name=post value='Загрузить!' type=submit>
<br>
<?
$realpathto=$_SERVER['DOCUMENT_ROOT'];
$dfs = disk_free_space($realpathto);
$dts = disk_total_space($realpathto);
function file_size($size)
{
   $filesizename = array(" Байтов", " Кб", " Мб", " Гб", " Тб");
   return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
}
echo "<center><h5><font color=red>В дериктории где находится скрипт:<br>Места осталось - ".file_size($dfs)."<br>Места всего - ".file_size($dts)."</h5></font>";
?>
<? echo base64_decode($coop); ?>
<font color=gray><h5>О найденах багах проcьба сообщять мне по ICQ.</h5></font>
</form>
</td></tr>
<tr><td align=center>
<font face=verdana color=white size=2>
<?=$result ?>
</td></tr>
</table>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)