Autor | Zpráva | ||
---|---|---|---|
RastyAmateur Profil |
Dobrý večer,
řeším tu aktuálně jeden problém... Dělám web, ve kterém je potřeba uploadovat obrázky a nějak mi to nejde :( Vždy jsem to dělal přes JS přes ajax, nyní to dělám "normálně" a to tak, že formulář mi odešle $_POST["action"] = "upload" a pak mám nastaveno, že když je action roven uploadu, že se vykoná funkce... Hlásí mi to, že "Žádný soubor nebyl vybrán" (první podmínka)... Dokázal by mi někdo pomoci? Děkuji :)) function actionCreate(){ global $mysqli; global $_POST; global $_FILES; global $_SERVER; $_FILES["file"]["name"] = isset($_FILES["file"]["name"]) ? $_FILES["file"]["name"] : null; $_FILES["file"]["type"] = isset($_FILES["file"]["type"]) ? $_FILES["file"]["type"] : null; $_FILES["file"]["size"] = isset($_FILES["file"]["size"]) ? $_FILES["file"]["size"] : null; $_FILES["file"]["tmp_name"] = isset($_FILES["file"]["tmp_name"]) ? $_FILES["file"]["tmp_name"] : null; $_FILES["file"]["error"] = isset($_FILES["file"]["error"]) ? $_FILES["file"]["error"] : null; $name = $_FILES["file"]["name"]; $type = $_FILES["file"]["type"]; $size = $_FILES["file"]["size"]; $tmp_name = $_FILES["file"]["tmp_name"]; $error = $_FILES["file"]["error"]; if(!empty($_FILES["file"]["name"])){ if(!$error){ $explo = explode(".", $name); $ext = end($explo); $new_name = rand(0,10000).date("d_m_Y-G_i_s").rand(0,10000).".".$ext; $location = "/mapproject/data/maps/".$new_name; if($ext == "jpg" OR $ext == "jpeg" OR $ext == "JPG" OR $ext == "JPEG" OR $ext == "bmp" OR $ext == "png"){ if(!file_exists($location)){ move_uploaded_file($tmp_name,$location); $code = ""; $codeArray = array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); for($i=1;$i<=5;$i++){ $rand = rand(0,41); $code .= $codeArray[$rand]; } $insert = $mysqli->query("INSERT INTO maps (code,name,ip,date,path) VALUES ('".$code."','".$_POST["name"]."','".$_SERVER["REMOTE_ADDR"]."',NOW(),'".$new_name."') "); if($insert){ $result = "Slepá mapa byla úspěšně nahrána!"; $success = True; } else{ $result = "Bohužel, někde se stala chyba. Kontaktujte, prosím, administrátora!"; } } else{ $result = "Soubor s tímto jménem jíž existuje, prosím nauploadujte ho znovu."; } } else{ $result = "Je povoleno nahrávat pouze mapy s příponou .jpg, .jpeg, .JPG, .png, .bmp a .JPEG."; exit; } } else if($error == 1){ $result = "Presáhl jste limit velikosti uploadu na tomto serveru."; } else if($error == 2){ $result = "Přesáhl jste limit velikosti souboru."; } else if($error == 3){ $result = "Soubor byl nahrán pouze částečně!"; } else if($error == 4){ $result = "Soubor se nepodařilo nahrát na server."; } else if($error == 6){ $result = "Na serveru chybí temp. directory!"; } else if($error == 7){ $result = "Nepodařilo se zapsat soubor na disk."; } else{ $result = "Nastala neznámá chyba."; } } else{ $result = 'Nebyl vybrán žádný soubor!'; } $success = isset($success) ? $success : False; $return["success"] = $success; $return["result"] = $result; return $return; } PS: Vím, že některé věci by šli vyřešit lépe, a že nezkoumám, jestli byl vyplněn název, o to tu nyní nejde :) Omlouvám se, napsal jsem do formuláře type="file" type="file" namísto name="file" :D Ale děkuji :) |
||
Časová prodleva: 9 let
|
0