файлы из других мест не сохраняются

scandal

Новичок
файлы из других мест не сохраняются

Здравствуйте!
Пожалуйста, объясните почему сохраняется файл, который находится в том же каталоге что и скрипт, но если указать файлы, находящиеся в других местна (на других сайтах), то ничего не работает?

PHP:
<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
  <title>hello</title>
</head>
<body>
<?php
include_once("anticrack.php");

$site='http://localhost/Test/'; //URL сайта
$scriptname='z71225_01v02.php'; //имя скрипта, используемго в <FORM>

$s_source=substr(@$_GET["s_source"],0,255); //ссылка на закачку
$s_target=substr(@$_GET["s_target"],0,255); //имя, под которым будет сохранен файл

$s_source=anticrack($s_source); //очистим слово от нежелательного кода
$s_target=anticrack($s_target);

//форма для указания данных скачивания: ссылка, каталог, новое имя
echo "<form action='".$scriptname."' method='GET'>";
echo "<b>Ссылка для скачивания:</b><br>";
echo "<input type='text' name='s_source' value='$s_source' size='100' maxlength='255'>";
echo "<b>Новое имя:</b><br>";
echo "<input type='text' name='s_target' value='$s_target' size='100' maxlength='255'>";
echo "<input type='submit' value='Показать'>";
echo "</form>";

Download($s_source,$s_target); //вызов функции закачки

function Download($fsource,$ftarget) //функция закачки
{
   if (!file_exists($fsource))
   {
      header("HTTP/1.0 404 Not Found"); //ссылка неверна
      exit;
   }

   if(!$fsize1 = filesize($fsource))
   {
      echo "Не получилось определить размер файла <b>$fsource</b><br>";
      exit;
   }

   $f = @fopen($fsource, "rb");
   if (!$f)
   {
      header("HTTP/1.0 403 Forbidden"); //нет доступа к ресурсу
      exit;
   }

   $s="";
   while(!feof($f)) 
   {   $s.= fread($f,1024);} //чтение содержимого файла по одному килобайту и сохранение в переменной $s
   fclose($f);

   echo $s;
   
   $f = @fopen($ftarget,"w");
   fwrite($f,$s); //запись скаченного в файл $ftarget
   fclose($f);

   if(!$fsize2 = filesize($ftarget))
   {
      echo "Не получилось определить размер файла <b>$ftarget</b><br>";
      exit;
   }
   
   if($fsize1<>$fsize2) //сравнение размера исходного файла с сохраненным файлом
   {
      echo "Размер сохраненного файла не совпадает с размером исходного файла. Возможно, нужно повторить закачку<br>";
   }
   else
   {
      echo "Файл сохранен";
   }
};

?>
</body>
</html>
Спасибо!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
нинаданичегокачатьсдругихсайтов
 

FractalizeR

Новичок
PHP:
$s_source=substr(@$_GET["s_source"],0,255); //ссылка на закачку
$s_target=substr(@$_GET["s_target"],0,255); //имя, под которым будет сохранен файл
Зачем это?

PHP:
$s_source=anticrack($s_source); //очистим слово от нежелательного кода
$s_target=anticrack($s_target);
От чего чистим и как именно?


PHP:
 $s="";
   while(!feof($f)) 
   {   $s.= fread($f,1024);} //чтение содержимого файла по одному килобайту и сохранение в переменной $s
   fclose($f);

   echo $s;
   
   $f = @fopen($ftarget,"w");
   fwrite($f,$s); //запись скаченного в файл $ftarget
   fclose($f);
Не проще было copy() воспользоваться?
А еще не проще было ссылку создать symlink?
 

FractalizeR

Новичок
Телепатический режим никак не включается. Хотите, чтобы на вопрос ответили - задайте его нормально. Или по крайней мере ответьте на наводящие вопросы.
 
Сверху