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>