Hirdetés
Új hozzászólás Aktív témák
-
trisztan94
őstag
válasz
Tele von Zsinór #15275 üzenetére
Nagyon jó a post, köszönöm!
Más:
HTML5-ös ajax fájlfeltöltéssel bénázom nagyon (ez lehet inkább jQuery topikba kellene, de nagyon úgy érzem PHP oldalon van a probléma)
Tehát egy SO-n 50+ upvote-olt válasz volt, többen is írták, hogy működik..
Van ez a formom:
<form name="form-uploadXLS" id="form-uploadXLS" method="post" action="php/uploadXLS.php" enctype="multipart/form-data" >
<hr />
<div class="form-group">
<div class="col-md-12">
<input type="file" name="xls" class="xls" />
</div>
</div>
<input type="submit" value="Feltöltés" class="btn-uploadXLS" />
</form>Az lenne a lényeg, hogy csak .xls vagy .xlsx fájlt lehessen feltölteni, de az most teljesen mindegy.
Itt a jQuery kód ami lekezelné:$('#form-uploadXLS').on('submit', function (event) {
console.log("submitted");
event.preventDefault();
var formData = new FormData($('#form-uploadXLS')[0]);
$.ajax({
url: 'php/uploadXLS.php',
type: 'POST',
success: function(data) {
console.log("success");
console.log(data);
},
error: function(msg) {
console.log("error");
console.log(msg);
},
data: formData,
cache: false,
contentType: false,
processData: false
}, 'json');
});És itt a mögötte lévő PHP:
if(isset($_FILES["xls"]) && $_FILES["xls"]["error"]== UPLOAD_ERR_OK)
{
############ Edit settings ##############
$UploadDirectory = $_SERVER['SERVER_NAME'].dirname($_SERVER["REQUEST_URI"]) . '/xls/';
##########################################
/*
Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini".
Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit
and set them adequately, also check "post_max_size".
*/
//check if this is an ajax request
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
die();
}
//allowed file type Server side check
switch(strtolower($_FILES['xls']['type']))
{
//allowed file types
case 'application/vnd.ms-excel':
break;
default:
die('Nem támogatott fájlformátum!'); //output error
}
$File_Name = strtolower($_FILES['xls']['name']);
$File_Ext = substr($File_Name, strrpos($File_Name, '.')); //get file extention
$Random_Number = rand(0, 9999999999); //Random number to be added to name.
$NewFileName = $Random_Number.$File_Ext; //new file name
if(move_uploaded_file($_FILES['xls']['tmp_name'], $UploadDirectory.$NewFileName ))
{
// do other stuff
die('Sikeres feltöltés!');
}else{
die('Hiba történt a feltöltés során!');
}
}
else
{
die('wtf');
}(Ezt is SO-ról csórtam)
Na akármit csinálok, mindig a "wtf" hibaüzenetet kapom.
Elvileg a formData üres, de megint csak elvileg annak mi nem is láthatjuk a tartalmát.
HTTP 200 OK-al jön vissza a wtf hibaüzenet?
Könyvtárak helyét, nevét ellenőriztem, a php.ini-t is.
Mit nem veszek észre?
Új hozzászólás Aktív témák
- Garanciális Gamer Számítógép, PC (GTX 1070 8GB, I7-7700, 16GB RAM, SDD) Beszámítás Posta ok (32)
- iPhone 11 128GB fekete, gyárilag független, újszerű karcmentes állapot, 87% akku, legjobb ár!
- iPhone 12 128GB FEHÉR, gyárilag független, újszerű karcmentes állapot, 94% akku, doboz, legjobb ár!
- iPhone 12 128GB fekete, gyárilag független, karcmentes kijelző szép állapot, 86% akku, legjobb ár!
- Félkonfig Asus z690, i7-12700k, 4x8gb 4400mhz, 1tb Ssd,
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3074, 100% Akkumulátor
- HIBÁTLAN iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3033, 100% Akkumulátor
- Logitech MX Master 3 vezeték nélküli egér
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
Állásajánlatok
Cég: FOTC
Város: Budapest