Помогите, плз, с ПХП скриптом

  • Автор темы XaocLord
  • Дата начала
  • Тут может быть ваша реклама
X

XaocLord

Гость
Вот сам скрипт:
PHP:
<?
  $extension = ""; 		
  $counterdir = "../counters/"; 
  $textfont = "Verdana,Tahoma";  

  if (file_exists("$get$extension"))
       {
        header("location: $get$extension"); 
	$file = fopen("$counterdir/$get.txt","r");  
	$count = fread($file, 100);	
	$countplus = ($count + 1);	
        fclose($file);			
	$fileb = fopen("$counterdir/$get.txt","w"); 
	fwrite($fileb, $countplus, 100);
	fclose($fileb);
       }
  else 	echo "<font face=$textfont size=2>";
	echo "<center><br><br> Невозможно скачть файл <b>$get$extension</b><br>";
	
?>

Не хочет он увеличивать счетчик :( обращаюсь я к нему по
PHP:
<a href="download.php?get=имя файла">
Помогите, плз.
Заранее благодарен.
 

Nestr

Турист
8 Апр 2006
61
2
13
Odessa
Credits
0
<?

$extension = ".txt";
$counterdir = "counters/";
$textfont = "Verdana,Tahoma";
if (file_exists("$counterdir$get$extension"))
{
header("location: $counterdir$get$extension");
$file = fopen("$counterdir$get$extension","r");
$count = fread($file, 100);
$countplus = ($count + 1);
fclose($file);
$fileb = fopen("$counterdir$get$extension","w");
fwrite($fileb, $countplus, 100);
fclose($fileb);
}
else echo "<font face=$textfont size=2>";
echo "<center><br><br> Íåâîçìîæíî ñêà÷òü ôàéë <b>$get$extension</b><br>";

?>
 

Skif®

Турист
2 Фев 2006
9
1
8
Москва
Credits
0
Какой клевый скрипт.
Во-первых, к переменным следует обращаться по-другому (даже если register_globals включено), а именно:
$get = $_GET["get"];
Во-вторых. Там fopen, а get передает прямое название файла. Сделай что-нибудь вроде этого:
if ( !preg_match("#^[A-Z0-9a-z\-\_\.]+$#", $get) ) {
die("Failed");
}

тогда у тебя в параметре get можно будет передавать лишь символы входящие в интервалы A-Z, a-z, 0-9 еще нижнее подчеркивание "_" и точку.
В-третьих. У тебя там следующий код:
else echo "<font face=$textfont size=2>";
echo "<center><br><br> Невозможно скачть файл <b>$get$extension</b><br>";

Как я понял, эти две строчки должны печататься вместе (а иначе у тебя будут проблемы с хидерами), следовательно их нужно заключить в скобки, как единый блок:

else {
echo "<font face=$textfont size=2>";
echo "<center><br><br> Невозможно скачть файл <b>$get$extension</b><br>";
}