Autor Zpráva
etothex
Profil
Dobrý den,

potřebuji pomoci s uploadem více fotek pomocí php a jejich následné zapsání do MySQL.

Aktuálně mám vyřešený upload jedné fotky, která se uloží do adresáře a její název se mi zapíše do databáze. Potřebuji vyřešit upload více než jedné fotky a nevím, jak na to.

Aktuálně můj upload script vypadá takto
$target = "../fotky/"; 
    $allowedExts = array("jpg", "jpeg", "JPG");
    $extension = end(explode(".", $_FILES["file_upload"]["name"]));
    $target = $target . basename( $_FILES['file_upload']['name']);

    if ((($_FILES["file_upload"]["type"] == "image/jpg")|| ($_FILES["file_upload"]["type"] == "image/jpeg"))&& in_array($extension, $allowedExts))
    {
        $photoname = $_FILES["file_upload"]["name"];
        if (file_exists("../fotky/" . $photoname))
        {
            die( '<div class="error">Omlouváme se, ale <b>'. $photoname . '</b> již existuje</div>');
        }
    
        if(move_uploaded_file($_FILES['file_upload']['tmp_name'], $target)) 
        {
            $query = "UPDATE tabulka SET foto='fotky/$photoname' WHERE id='".$row["id"]."'";
            mysql_query($query); 
            $sql = "SELECT MAX(id) FROM photos";
            $max = mysql_query($sql);
            $row = mysql_fetch_array($max);
            $maxId = $row['MAX(id)'];
        
            $type = $_FILES["file_upload"]["type"];
            switch($type)
            {
                case "image/jpeg":
                $ext = ".jpeg";
                break;
                case "image/jpg";
                $ext = ".jpg";
                break;
        case "image/jpg";
                $ext = ".JPG";
                break;            
            }

            }     
            else
            {

            }
        }

chtěl bych to vyřešit tak, že by se musela nahrát minimálně jedna a maximálně 5. Udělal bych v mysql tabulce foto1, foto2, foto3, foto4, foto5, kde kromě foto1 by všechny až do 5 mohly bejt "null". V mém formuláři bych pak přidal akorát input file, aby jich bylo 5. Potřebuji každou fotku do databáze zapsat zvlášť, protože s tím pak pracuji na výpisu.

děkuji za pomoc
ts_istudio
Profil
etothex:
Právě teď předělávám jednu aplikaci, jejíž autor považoval přidávání fotek k záznamům tímto způsobem za dobrý nápad. Nemám ho rád, ani trochu.
Udělej to tak, že každá fotka bude mít jeden záznam v tabulce.
xROAL
Profil
Takúto vec sa dočítaš aj priamo na webe PHP.net a to presne tu - Uploading multiple files.
Inputy teda budú vyzerať takto:
Prvá fotka <input type="file" name="fotka[]" />
Druhá fotka <input type="file" name="fotka[]" />
Tretia fotka ...

Následne v PHP $_FILES['fotka']['name'][0] pre prvú fotku, $_FILES['fotka']['name'][1] pre druhú... atď.
etothex
Profil
A jde to tímto způsobem použít v mnou publikovaném skriptu? V PHP umím obstojně pracovat mysql, nicméně jinak je mi zatím bohužel cizí.

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: