Autor Zpráva
Matthew Cook
Profil
Zdravím,

Určitě se to tu už řešilo x krát, a omlouvám se za otravování. Ale mám prosbu. Potřebuji udělat jednoduchý formulář s nahráváním souboru. Formulář by nebyl problém, ale spíše ten soubor. Prosím o pomoc. Stačilo jednoduché řešení mého problému. Klidně aby se odeslal na mail nebo na server co bude jednoduší.

Děkuji za pomoc.
pharaon.jh
Profil
jestli to chceš nahrát na server, tak to je tento kód

<?php
// konfigurace
$uploadDir = 'zde bude úplná adresa serveru, až do konečný složky'; // adresar, kam se maji nahrat obrazky (bez lomitka na konci)
$allowedExt = array('jpg', 'jpeg', 'png', 'gif', 'xls', 'xlsx', 'doc', 'docx', 'txt'); // pole s povolenymi priponami
// zpracovani uploadu
if(isset($_FILES['obrazky']) && is_array($_FILES['obrazky']['name'])) {
    $counter = 0;
    $allowedExt = array_flip($allowedExt);
    foreach($_FILES['obrazky']['name'] as $klic => $nazev) {
        $fileName = basename($nazev);
        $tmpName = $_FILES['obrazky']['tmp_name'][$klic];
        // kontrola souboru
        if(
            !is_uploaded_file($tmpName)
            || !isset($allowedExt[strtolower(pathinfo($fileName, PATHINFO_EXTENSION))])
        ) {
            // neplatny soubor nebo pripona
            continue;
        }
        // presun souboru
        if(move_uploaded_file($tmpName, "{$uploadDir}".DIRECTORY_SEPARATOR."{$fileName}")) {
            ++$counter;
        }
    }
    echo "<p>Soubor by úspěšně nahrán na server.</p>";
}
?>
<form method="post" enctype="multipart/form-data">
<table align="center">
<tr><td><input type="file" name="obrazky[]" multiple="multiple" /></td><td><input type="submit" value="Nahrát soubor" /></td></tr>
</table>
</form>
Matthew Cook
Profil
Dějuji, ale uplně to neřeší můj problém. Málo jsem ho rozvedl. Co mi řekl známý chce formulář klasický s textem a k tomu sobubor.

Je možné dát radu jak na to nebo hotový příklad děkuji
Alphard
Profil
Přidat k tomu textové pole není problém. Do formuláře <input type="text" name="nejakeJmeno"> a obsah pak bude v $_POST['nejakeJmeno'].

pharaon.jh:
"{$uploadDir}".DIRECTORY_SEPARATOR."{$fileName}"
Proč tak složitě?
pharaon.jh
Profil
Alphard:
nevím tenhle kód jsem zkopíroval z jiný stránky, a vyzkoušel jsem ho a funguje, dál jsem to neřešil, protože nevím co to všechno umí

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: