Autor | Zpráva | ||
---|---|---|---|
nevím Profil * |
#1 · Zasláno: 26. 12. 2010, 00:33:59
ahoj,chci se zeptat,chtěl bych udělat php script,který by měl takovýhle funkce:
1 pole: napis složky // pole pak vytvoří složku pojmenovanou tak jak to zadal do pole. 2 pole: Vybrání souboru Upload Vím jak udělat upload souboru,ale nevím jak to udělat to vytvoření složky... tak například vememe si uploader od intervalu... <FORM ACTION="" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="soubor" SIZE="30"> <INPUT TYPE="submit" NAME="akce" VALUE="Upload"> </FORM> <? if ($akce == "Upload") { if ($soubor_type == "text/plain" or $soubor_type="text/html") { if (copy ($soubor, "data/$soubor_name")) { print "Soubor $soubor_name o velikosti $soubor_size bajtů byl úspěšně uploadnut na server<BR>"; } else { print "Při nahrávání souboru došlo k chybě!<BR>"; } } else { print "Soubor není požadového MIME typu!<BR>"; } } ?> jak tohle upravyt aby tam bylo pole pro vytvoření složky? vím že do html se musí dát samozřejmě pole,tak například takto... <FORM ACTION="" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT type="text" name="slozka" size="20"> <INPUT TYPE="file" NAME="soubor" SIZE="30"> <INPUT TYPE="submit" NAME="akce" VALUE="Upload"> </FORM> a ted co?...:-p prosím poradte:) tohle jsem se chtěl naučit už docela dlouho a dnes na to mám čas,tak mě prosím poradte předem díky za odpovědi/rady .. |
||
nevím Profil * |
#2 · Zasláno: 26. 12. 2010, 00:35:05
PS: funkci chmod 777 nepotřebuju,mám to nastavený na indexu že mě všechny složky které se vytvoří jsou už v 777 / 0777
|
||
Majkl578 Profil |
#3 · Zasláno: 26. 12. 2010, 02:15:10
nevím:
Ten uvedený script od Intervalu je nepoužitelný, je psaný pro PHP 4 — používá register_globals. „ale nevím jak to udělat to vytvoření složky“ Vytvoření složky provedeš pomocí funkce mkdir. Zkusil jsem takový script na nahrávání souboru do dané složky napsat. Pokud složka už existuje, pokusí se soubor nahrát do ní, ale pouze pokud soubor stejného jména už neexistuje. <?php $targetDir = dirname(__FILE__) . '/data'; // cílová složka kde se budou vytvářet podsložky if (isset($_POST['submitter']) && isset($_POST['directory']) && isset($_FILES['file'])) { // pokud byl formulář odeslán, proběhne zpracování try { if (in_array($_POST['directory'], array('', '.', '..'), TRUE) // zakázané názvy || strpos($_POST['directory'], DIRECTORY_SEPARATOR) !== FALSE // nesmí obsahovat adresářový oddělovač || strpos($_POST['directory'], "\0") !== FALSE) { // a ani null-byte throw new Exception('Neplatný název složky'); } $dirName = $targetDir . '/' . $_POST['directory']; // vytvoření složky, pokud již neexistuje if (!is_dir($dirName)) { if (!@mkdir($dirName)) throw new Exception('Nepovedlo se vytvořit složku'); } if (!is_array($_FILES['file']) || $_FILES['file']['error'] !== 0) throw new Exception('Soubor nebyl úspěšně nahrán.'); $targetFile = $dirName . '/' . $_FILES['file']['name']; if (file_exists($targetFile)) throw new Exception('Takový soubor už ve dané složce existuje.'); if(!@move_uploaded_file($_FILES['file']['tmp_name'], $targetFile)) throw new Exception('Soubor nebyl úspěšně nahrán.'); echo 'Soubor byl nahrán.'; } catch (Exception $e) { echo 'Chyba při nahrávání: ', $e->getMessage(); } } ?> <form action="" method="post" enctype="multipart/form-data"> <input type="text" name="directory" size="20"> <input type="file" name="file" size="30"> <input type="submit" name="submitter" value="Upload"> </form> |
||
Časová prodleva: 13 let
|
0