Autor Zpráva
H4rm
Profil
Ahoj, mám na webu výpis souborů, a vždy se mi z toho utvoří odkaz, ale odkazuje špatně. Mělo by me to odkazovat:

http:///file-hosting.hu.cz/files/soubor.txt a ono odkazuje http://www.file-hosting.hu.cz/soubor.txt

V scriptu jsem zkoušel různé blbosti, ale nejde. Přikládám script, jestli mi to někdo můžete vyřešit tak díky:

<?
$nas_sou="soubory.php";
$handle=opendir('./files/'); 
$i=0;
$j=0;
while (false!==($file = readdir($handle))) 
{ 
    if ($file!="."&&$file!=".."&&!is_dir($file)&&$file!=$nas_sou) 
    { 
        $soubor[$i]="$file";
        $i++;
    } 
    if ($file != "." && is_dir($file))
    {
       $adresar[$j]="$file";
        $j++;
    }
}
closedir($handle); 
function vypis($s,$v,$z)
{
       echo "<table>\n";
       for($i=0;$i<count($s);$i++)
       {
        echo "<tr><td>";
        echo '<a href="'.$s[$i].'" target="_blank">'.$s[$i].'</a>';
        echo "</td><td>$v[$i]";
        echo "</td><td>$z[$i]";
        echo "</td></tr>\n";
       }
       echo "</table>\n";
}
echo "<hr>Soubory:<hr>\n";
vypis($soubor,$velikost,$zmena);
?>


Předem díky ;)
jrm
Profil
U mne výše uvedené na locale funguje. Kdysi jsem odladil tento skript:

<html>
<head>
<meta http-equiv="Content-Language" content="cs">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>stahuj</title>
<style type="text/css">
* {
font-family: verdana, "arial ce", "helvetica ce", arial, helvetica, sans-serif;
font-size: 11px;
}

body {
margin: 5px;
padding: 0px;
color: navy;
background-color: #ffffff;
}
</style>
</head>
<body>
<p>Výpis adresářů [DIR] s dalšími soubory ke stažení:<br>
<?
$path = ".";

if ($handle=opendir($path)) {
while ($file = readdir($handle))
{
$polozky[count($polozky)] = $file;
}
closedir($handle);
sort($polozky);
}

reset($polozky);
while (list($key, $val) = each($polozky))
{
if ($val != "." && $val != "..")
{
if (is_dir($val))
{
echo "[DIR] ---> ";
echo "<a href=\"$val\">$val</a><br>\n";
}
}
}
?>
<br>Více adresářů tento adresář neobsahuje. <a href="../">O adresář výš</a>
</p>
<hr width="600" align="left">
<br>
<table width="600" border="1" cellpadding="3" cellspacing="0">
<tr>
<th width="400">Soubor ke stažení</th>
<th width="100">délka</th>
<th width="100">aktualizace</th>
</tr>
<?
reset($polozky);
while (list($key, $val) = each($polozky))
{
if ($val != "." && $val != "..")
{
if (!is_dir($val) && !eregi("\.php|\.ico",$val))
{
echo "<tr><td><a href=\"$val\">$val</a></td>
<td align='right'>" . number_format(filesize($val), 0, "", " ") . "&nbsp;</td>
<td align='center'>" . strftime("%d.%m.%Y",filemtime($val)) . "</td></tr>\n";
}
}
}
?>
</table>
<p>Více souborů ke stažení v tomto adresáři není.</p>
</body>
</html>

Skript (index.php) pak nahrávám do každého adresáře, který chci tímto způsobem prohlížet.
H4rm
Profil

U mne výše uvedené na locale funguje.


Vsak u me to taky bezi, jen kdyz mi to vypise nejake soubory napr.: z adresare 'FILES' tak to znich udela odkaz ve formatu: http://www.file-hosting.hu.cz/obrazek.jpg misto http://file-hosting.hu.cz/files/obrazek.jpg

Kdysi jsem odladil tento skript:

Mel jsem podobny, jenom ja nepotrebuji vypisovat i adresare, ja potrebuji jen soubory.

Praktická ukázka mého problému: http://www.file-hosting.hu.cz/soubory.php
Matty
Profil
H4rm
Zkus trošku přemýšlet než se zeptáš na takovou trivialitu (základy HTML):
... echo '<a href="files/'.$s[$i].'" target="_blank">'.$s[$i].'</a>'; ...
H4rm
Profil
To me vubec nenapadlo :)

Moc diky
jrm
Profil
Na locale mi fungují samozřejmě správně i odkazy, protože jsem na řádku
$handle=opendir('./files/');
ponechal jen
$handle=opendir('.');
abych adresář nemusel přidávat.
Pak stačí, aby sis ho ty doplnil v definici odkazu na řádku:
echo '<a href="'.$s[$i].'" target="_blank">'.$s[$i].'</a>';

Doufám, že ti to pomůže. Jinak mne pletly ve tvém příspěvku také ta tři lomítka za http, a to, že uvádíš rovněž rozdíl v adresách s www a bez www. Inu jsem pouze amatér :-D

Dodatek: jak vidím, tak pozdě :-(
H4rm
Profil
Když už jsme u toho výpisu souborů, jde nějak udělat SCRIPT aby se mi zobrazovaly soubory z adresáře podle IP? Jako že by se zobrazil jen ten soubor co jsem nahrál ;)
Matty
Profil
H4rm
Samozřejmě. Například tak, že zjistíš uživatelovu IP, odstraníš tečky a vytvoříš takto pojmenovaný adresář. Pak jen vypíšeš soubory podle toho adresáře.
H4rm
Profil
Tak teď jsem asi narazil :( páč vůbec netuším jak. Mám script na výpis počtu souborů, nejde to nějak z toho předělat? Jestli ano můžete mi někdo nějak udělat nebo pomoct? =) Díky

<?php
$pocet_souboru=0;
if ($slozka = opendir('./files/')) {
    while (false !== ($file = readdir($slozka))) {
        if ($file != "." && $file != "..") {
            $pocet_souboru++;
        }
    }
    closedir($slozka);
}
print $pocet_souboru;
?>
souki
Profil
Matty
To ale nebude fungovat na 100% :) Vezmi si třeba IP 77.20.11.1 a 72.20.1.11 :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0