| 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: 11 let
|
|||
0