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
- Dell Latitude E5440, i5 4310U, 4GB RAM , 60 GB SSD
- Elado egy PCChips/Hsin Tech M726MRT
- Medion Akoya P7817- i7-3632QM 2,2 GHz, 8Gb RAM, NVIDIA GeForce GT 730M 2 GB, Intel HD 4000
- Asztali PC R5 3600 RTX 2060 Super 16GB DDR4 512GB NVME
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
- Részletfizetés. Utolsó darab! Dell Latitude Ultra7 12 részletre, bank nélkül, azonnal vihető!
- Samsung Galaxy A04S 32GB Kártyafüggetlen 1Év Garanciával
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Bomba ár! Dell Latitude E7450 - i5-5GEN I 8GB I 250GB I 14" FHD I HDMI I Cam I W10 I Garancia!
- Önerő nélkül is elvihető! Részletfizetés. 27 % Áfás számlával Dell Alienware QD-OLED gamer monitor
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest