Autor | Zpráva | ||
---|---|---|---|
marek888 Profil |
#1 · Zasláno: 1. 4. 2015, 21:56:28
Dobrý večer. Chtěl bych udělat nahrávání obrázků na web a uložení adresy do databáze. Nahrávání a ukládání do databáze funguje. Akorát nahrávání do databáze přestane fungovat v ten okamžik, když se snažíte na web nahrát více jak 1 obrázek. To se do databáze nahraje pouze jméno posledního obrázku,který byl nahrán.
Napadlo mě, že by se to dalo vyřešit pomocí while, ale to mi pouze udělalo více záznamů se stejným názvem souboru. Můj kód na nahrávání obrázků je takovýto: if(isset($_POST['obrazky'])){ $uploadDir = './obrazky'; // adresar, kam se maji nahrat obrazky (bez lomitka na konci) $allowedExt = array('jpg', 'jpeg', 'png', 'gif'); // 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; } } if($counter > 0){ echo "<p>Nahrálo se {$counter} z ".sizeof($_FILES['obrazky']['name'])." obrázků do ".($_POST['verze'])."</p>"; echo "<img src='obrazky/$fileName'>"; mysql_query("insert into mix (url) values('".mysql_real_escape_string($fileName)."')"); |
||
Keeehi Profil |
#2 · Zasláno: 1. 4. 2015, 22:30:31
mysql_query("insert into mix (url) values('".mysql_real_escape_string($fileName)."')"); |
||
marek888 Profil |
Keeehi:
Díky, to mě nenapadlo, asi jsem nad tím málo přemýšlel. Už mi to funguje, akorát pokaždé když je tam např žščř a tak podobně, tak mi to ten obrázek špatně zpracuje, nevím jak napsat kódování utf8 do té proměnné FileName |
||
Časová prodleva: 10 let
|
0