Въпрос.. Upload script

Dido_net

Registered
Написах един ъплоуд скрипт (по точно го взех, но той не предсавляваше нищо особенно)..
имам 2 въпроса, как да направя да не може да се ъплоудват *.php-та и как да направя в текста ареата да ми показва ърл-а който е отворен в момента в браузъра? Нещо като $_SERVER['PHP_SELF'], но да е пълния URL от страницата.. ето го скирпта :

Код:
<?php
$title = $_FILES['data']['name'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Upload.. <?php if (isset($_FILES['data']) and ! $_FILES['data']['error']) { echo "[ Файл : ".$title." ]"; } else { echo ""; } ?></title>
</head>
<body bgcolor=black text=white link=white alink=white vlink=white>
<hr>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Файл : <input type="file" name="data" style="background: #999999; font-family: Tahoma; font-size: 11px" />
 <input type="submit" value="Upload" style="background: #999999; font-family: Tahoma; font-size: 10px" />
</form>
<hr> 
<?php

if (isset($_FILES['data']) and ! $_FILES['data']['error'])
{
 
	$filename = $_FILES['data']['name'];
	move_uploaded_file($_FILES['data']['tmp_name'], $dir."upload/".$filename);
 
	echo "<br /><br /><br /><hr><font size=\"2\" face=\"tahoma\"><b>Status:</b> Ъплоуда е успешен ;)<br />Кликни <a href=\"/upload/$filename\">тук</a> за да видиш файла.<br />Можеш и да изплозваш този код за линк някъде в html :)</font><hr><textarea cols=\"110\" rows=\"1\" style=\"background: #999999;font-family: tahoma;font-size: 11px;\"><a href=\"http://elc.prophp.org/upload/$filename\">$filename</a></textarea><hr>";
 
}
else 
{ echo""; }

echo"<center><font size=\"1\" face=\"tahoma\">[ Upload Script by DiDo ]</font></center>";
?>
</body>
</html>
 
За да не могат да качват php-та съм добавил 3 реда.

<?php
$title = $_FILES['data']['name'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Upload.. <?php if (isset($_FILES['data']) and ! $_FILES['data']['error']) { echo "[ Файл : ".$title." ]"; } else { echo ""; } ?></title>
</head>
<body bgcolor=black text=white link=white alink=white vlink=white>
<hr>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Файл : <input type="file" name="data" style="background: #999999; font-family: Tahoma; font-size: 11px" />
<input type="submit" value="Upload" style="background: #999999; font-family: Tahoma; font-size: 10px" />
</form>
<hr>
<?php

if (isset($_FILES['data']) and ! $_FILES['data']['error'])
{

$filename = $_FILES['data']['name'];

$filetype = $_FILES['data']['type'];
if ( $filetype =='application/octet-stream')
{echo"Не позволен файл";exit;}

move_uploaded_file($_FILES['data']['tmp_name'], $dir."upload/".$filename);

echo "<br /><br /><br /><hr><font size=\"2\" face=\"tahoma\"><b>Status:</b> Ъплоуда е успешен ;)<br />Кликни <a href=\"/upload/$filename\">тук</a> за да видиш файла.<br />Можеш и да изплозваш този код за линк някъде в html :)</font><hr><textarea cols=\"110\" rows=\"1\" style=\"background: #999999;font-family: tahoma;font-size: 11px;\"><a href=\"http://elc.prophp.org/upload/$filename\">$filename</a></textarea><hr>";

}
else
{ echo""; }

echo"<center><font size=\"1\" face=\"tahoma\">[ Upload Script by DiDo ]</font></center>";
?>
</body>
</html>
 
Много ти благодаря admin :wink:
ъм само да попитам, как само трябва да стане това? защото нз точно.. :oops:

if ( $filetype =='application/octet-stream' || $filetype == '*.html' || $filetype == '*.htm')

Едит: аа.. и как да взима адреса от страницата.. сигурен съм че има нещо такова.. :roll:
 
Код:
if ( $filetype =='application/octet-stream' || $filetype == 'text/html')


Така трябва да е.
Но защо искаш да забраниш каването на html файлове?
Какви файлове искаш да може да се качват?
 
admin каза:
Код:
if ( $filetype =='application/octet-stream' || $filetype == 'text/html')


Така трябва да е.
Но защо искаш да забраниш каването на html файлове?
Какви файлове искаш да може да се качват?
ъм.. благодаря пак, иначе, не съм решил още какви :)
Soul ми даде един вариант с *.разшерение :)
Ъм.. сега остава само неразгадания ми въпрос за страницата :)
 
Как ще стане файлтайпа ако искам да ъплоудвам файлове от типа .zip , .rar , .exe? защото както ми е сега не става... :roll:
 
Dido_net каза:
Как ще стане файлтайпа ако искам да ъплоудвам файлове от типа .zip , .rar , .exe? защото както ми е сега не става... :roll:

Код:
if ( $filetype =='application/x-zip' || $filetype == 'audio/x-pn-realaudio-plugin' || $filetype == 'application/x-msdos-program')
 

Back
Горе