jQuery Ajax FormData() feltöltése xhr-rel.
Feladat: 1 db fájl feltöltése FormData()-ként úgy, hogy közben kijelezze a feltöltés pillanatnyi értékét. MySQL táblában az adatok lementése: a feltöltő neve, a feltöltött *.zip/*.rar fájl tartalma, a fájl neve.
Eddig jutottam: http://users.atw.hu/bujocska/
A javascript részt megtaláljátok a honlapon.
Probléma: amikor én próbálok feltölteni egy fájlt, mindig sikerül, viszont ha más, neki megáll 100%-nál és nem történik semmi: nem rak be új rekordot a táblába, nem tölti fel a fájlt a szerverre. Fogalmam sincs miért van ez, esetleg a fájl neve miatt.
Fájl/mappa szerkezet (design elemeket leszámítva):
- /index.php
- /jsHandler.php
- js/script.js
- js/jquery-ui-1.9.2.custom.min.js
- /uploads (mappa - chmod 777)
- /tmp (az atw.hu miatt kell - chmod 777)Előre is köszönöm a segítséget.
■ Eddig jutottam: http://users.atw.hu/bujocska/
A javascript részt megtaláljátok a honlapon.
Probléma: amikor én próbálok feltölteni egy fájlt, mindig sikerül, viszont ha más, neki megáll 100%-nál és nem történik semmi: nem rak be új rekordot a táblába, nem tölti fel a fájlt a szerverre. Fogalmam sincs miért van ez, esetleg a fájl neve miatt.
Fájl/mappa szerkezet (design elemeket leszámítva):
- /index.php
- /jsHandler.php
- js/script.js
- js/jquery-ui-1.9.2.custom.min.js
- /uploads (mappa - chmod 777)
- /tmp (az atw.hu miatt kell - chmod 777)
- <?php
- ob_start();
- $mysql["connection"]=mysql_connect("host","felhasználónév","jelszó") or die("Hiba a MySQL szerverhez való kapcsolódás közben. Hibaüzenet: ".mysql_error());
- $mysql["selection"]=mysql_select_db("db") or die("Hiba a MySQL adatbázis kiválasztása közben. Hibaüzenet: ".mysql_error());
- foreach($_POST as $k=>$v)
- $_POST[$k]=mysql_real_escape_string($v);
- $_FILES["upload_file"]["name"]=preg_replace("/[^a-zA-Z0-9\.]/","_",mysql_real_escape_string($_FILES["upload_file"]["name"]));
- $maxsize=104857600; //100 MB
- $minsize=5242880; //5 MB
- if($_FILES["upload_file"]["error"]==4){
- if(isset($_GET["nojs"]))header("Location:index.php?result=0"); //hibák szeparálása az index.php-ben, semmi különös. Arra az esetre ha a felhasználó javascript nélkül böngészné az oldalt
- }elseif(strlen($_POST["name"])<3){
- if(isset($_GET["nojs"]))header("Location:index.php?result=1");
- }elseif(strlen($_POST["name"])>30){
- if(isset($_GET["nojs"]))header("Location:index.php?result=2");
- }elseif(strlen($_POST["maps"])<10){
- if(isset($_GET["nojs"]))header("Location:index.php?result=3");
- }elseif(strlen($_POST["maps"])>255){
- if(isset($_GET["nojs"]))header("Location:index.php?result=4");
- }elseif($_FILES["upload_file"]["size"]>=$maxsize){
- if(isset($_GET["nojs"]))header("Location:index.php?result=5");
- }elseif($_FILES["upload_file"]["size"]<=$minsize){
- if(isset($_GET["nojs"]))header("Location:index.php?result=6");
- }elseif((strtolower(pathinfo($_FILES["upload_file"]["name"],PATHINFO_EXTENSION))!="zip") && (strtolower(pathinfo($_FILES["upload_file"]["name"],PATHINFO_EXTENSION))!="rar")){
- if(isset($_GET["nojs"]))header("Location:index.php?result=7");
- }elseif(move_uploaded_file($_FILES["upload_file"]["tmp_name"],"uploads/".$_FILES["upload_file"]["name"])){
- $dbquery=mysql_query("INSERT INTO uploads (name,maps,fileName,timestamp) VALUES ('$_POST[name]','$_POST[maps]','".$_FILES["upload_file"]["name"]."','".time()."')") or die(mysql_error());
- if(isset($_GET["nojs"]))header("Location:index.php?result=8");
- echo 8; //visszatérési érték a script.js "success:" részéhez
- }else{
- if(isset($_GET["nojs"]))header("Location:index.php?result=9");
- echo 9;
- }
- ?>
Opera (12.12) alatt nem megy
Köszönöm
http://bujocska.tk