No właśnie. Usiłuję napisać skrypt php, który pozwoli na ściąganie plików z serwera na dysk. Niby wszystko działa, ale po kliknięciu na link, okienko zapisywania się nie wyskakuje.
Może ma ktoś pomysł dlaczego?
index.php:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Nawigacja po katalogach</title>
</head>
<body>
<div>
<?php
$downloadpath="./download/";
function wypisz($downloadpath)
{
if (!$fd) return false;
while (( $file = readdir($fd))!==false) {
if (is_dir($downloadpath.$file)) continue
; echo "<a href=\"http://www.php.bartoszszmit.cba.pl/download.php?name="; echo "$file\">$file</a><br>"; }
}
wypisz($downloadpath);
?>
</div>
</body>
</html>
download.php
<?php
$downloadpath="/download/";
function checkFileName($name,$downloadpath)
{
if (!fd
) echo "nie udało się otworzyć katalogu"; $result=false;
while (($file = readdir($fd))!==false) {
if (is_dir($downloadpath.$file)) continue
; if ($file==$name)
{
$result=true; break;
}
}
return $result;
}
function send($file,$downloadpath)
{
{ echo "nie ma takiego pliku"; return;
}
$fd = fopen($downloadpath.$file,'r'); $filesize = filesize($downloadpath.$file); $contents = fread($fd,$filesize); header("Content-Type:application/octet-stream"); header("Content-Length:$filesize"); header("Content-Disposition:attachment;file=$file"); if (isSet($_GET['name'])) {
if (!checkfileName($name,$downloadpath))
{
echo "nie ma takiego pliku na serwerze"; }
else
{
send($_GET['name'],$downloadpath);
}
}
else { echo "nie ma takiego pliku na serwerze";} }
?>