Autor Zpráva
nevím
Profil *
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 *
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
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>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0