Ostatnio miałem problem ze stworzeniem stronki z tabelką uploadu, teraz coś takiego już mam, ale nadal nie wiem z czego wynikają moje problemy, mimo że wszystko powinno być ok, nie działa (IMG:
http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) W sumie nie wiem dlaczego? Posługuję się katalogiem do uploadu materialy oraz plikami:
-index.php o treści:
<?
$katalog = ‘materialy’;
?>
<html>
<head>
</head>
<body>
<table cellpadding=0 cellspacing=0 border=1>
<tr>
<td width=170 height=300 align=left valign=top>
<b>Menu</b><br><br>
» <a href=index.php?do=pokaz>pokaż wszystkie </a><br>
» <a href=index.php?do=dodaj>dodaj plik</a><br>
</td>
<td width=400 align=left valign=top>
<?
if (!$do || $do == 'pokaz') {
print '<b>Wszytskie pliki na serwerze</b><br><br>'; include('pokaz.php');
} elseif ($do == 'dodaj') {
print '<b>Dodawanie pliku na serwer</b><br><br>'; include('dodaj.php');
} elseif ($do == 'usun') {
print '<b>Usuwanie pliku z serwera</b><br><br>'; include('usun.php');
} else {
print '<b>error 404</b><br><br>Nie ma takiej strony!'; }
?>
</td>
</tr>
</table>
</bode>
</html>
-pliku dodaj.php o treści:
<?
if (isset($_POST['plik']) && $_POST['plik'] != '' && isset($_POST['nazwa']) && $_POST['nazwa'] != '') { if (copy($_POST['plik'], $katalog.'/'.$_POST['nazwa'])) { @chmod($katalog.'/'.$_POST['nazwa'], 666);
print 'Plik został dodany.'; } else {
print 'Nie można było dodać pliku.'; }
} else {
print 'Plik o podanej nazwie już istnieje.'; }
} else {
?>
W celu dodania pliku należy wybrać jego lokalizację na dysku, a następnie wskaza
odpowiednią nazwę, pod jaką będzie przechowywany na serwerze.<br><br>
<form method=\"POST\">
<input type=\"hidden\" name=\"do\" value=\"dodaj\">
<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"500000\">
Nazwa pliku na serwerze: <input type=\"text\" name=\"nazwa\" size=\"43\"><br>
Lokalizacja: <input type=\"file\" name=\"plik\" size=\"25\"><br>
<input type=\"submit\" value=\"dodaj\">
</form>
<?
}
?>
-pliku usun.php o treści:
<?
if (isset($_POST['co']) && count($_POST['co']) != 0
) { $popr = 0;
$co = $_POST['co'];
while ($poz = $kat->read()) {
for ($j=0; $j < count($co); $j++) { if ($poz == $co[$j]) {
$popr = (unlink($katalog.'/'.$poz)) ?
$popr+1
: $popr; }
}
}
}
$kat->close();
if (count($_POST['co']) == $popr) { print 'Wskazane pliki zostały usunięte.'; } else {
print 'Nie można było usunąć kilku lub wszystkich z wybranych plików.'; }
} else {
print 'Nie zostały zaznaczone pliki do usunięcia.'; }
?>
-oraz ostatecznie pliku pokaz.php:
Aby usunąć plik należy zaznaczyć znajdujące się przy nim pole 'checkbox' a następnie wcisnąć przycisk 'usuń'. Na raz można usunąć jeden lub więcej plików<br><br>
<div align=\"center\">
<form method=\"POST\">
<input type=\"hidden\" name=\"do\" value=\"usun\">
<table cellpadding=\"2\" cellspacing=\"1\">
<tr>
<th width=\"30\" height=\"15\" align=\"center\" valign=\"middle\">Lp.</th>
<th width=\"120\" height=\"15\" align=\"center\" valign=\"middle\">Nazwa pliku</th>
<th width=\"40\" height=\"15\" align=\"center\" valign=\"middle\">Zaznacz</th>
</tr>
<?
$i=1;
while($poz = $kat->read()) {
<td height=\"15\" align=\"left\" valign=\"middle\">'.$i.'</td>
<td height=\"15\" align=\"left\" valign=\"middle\"><a href=\"'.$katalog.'/'.$poz.'\" target=\"_new\">'.$poz.'</a></td>
<td height=\"15\" align=\"center\" valign=\"middle\"><input type=\"checkbox\" name=\"co[]\" value=\"'.$poz.'\"></td>
</tr>';
$i++;
}
}
$kat->close();
?>
</tr>
</table>
<br>
<input type=\"submit\" value=\"usuń zaznaczone\">
</form>
</div>
Czy wiecie może co jest nie tak? Co trzeba zmienić aby działało? PLEASE pomocy!!! (IMG:
http://forum.php.pl/style_emoticons/default/blink.gif)
Ten post edytował seaquest 15.01.2005, 16:44:08