Z tego co rozumiem, to nie rozumiesz, jak dzialaja wywolywane w przegladarce skrypty php ;]
Przeanalizuj dokladnie dzialanie tego kodu:
- gdy istnieje $_POST['s'] i podana jest nazwa katalogu, katalog jest tworzony
- nastepnie wyswietlany jest formularz dodawania pliku do katalogu
- po tym tworzony jest plik o nazwie, ktora NIE JEST nigdzie podana. Ta nazwa powinna byc podana dopiero PO WYSLANIU FORMULARZA przez uzytkownika.
Jesli wszystko tam w kodzie masz dobrze, to kod powinien wygladac np. tak:
<?
if(!isset($_POST['s'])) { echo '<form method="post">'; echo '<input type="text" name="namecatalog" size="30">'; echo '<input type="submit" name="s" value="start">'; }
else {
if (! empty ( $_POST['namecatalog'] ) ) { $catalogname = $_POST['namecatalog'];
$sciezka = 'htm/katalog/';
$c = $sciezka.$catalogname;
}
else {
}
}
echo'<form enctype="multipart/form-data" method="POST"> Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
<input type="hidden" name="newcatalog" value="'.($c ? $c : '').'/" />
</form>';
if ($_POST['newcatalog']) {
$uploadfile = $_POST['newcatalog'] . basename($_FILES['userfile']['name']); }
?>
Chyba poprawnie napisalem, ale nie testowalem.
Skrypt dziala jednak dziwnie - mozna uploadowac 1 plik tylko po utworzeniu nowego katalogu (byc moze planujesz zmieniac, a to byl "1 etap" i napotkales ten blad ;])