Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]jquery file upload plugin
Forum PHP.pl > Forum > Przedszkole
kamilo818
cześć.
Potrzebuje małej pomocy.
Korzystam z gotowego pluginu do uploadu plików http://hayageek.com/docs/jquery-upload-file.php
  1. $('#fileuploader').uploadFile({
  2.  
  3. url: "rezerwacje/up.php",
  4. dragDrop: true,
  5. fileName: "myfile",
  6. multiple:true,
  7. returnType: "json",
  8. showDelete: true,
  9. statusBarWidth:"90%",
  10. dragdropWidth: "97%",
  11. allowedTypes:"png,gif,jpg,jpeg",
  12.  
  13. onSuccess:function(files,data,xhr,pd)
  14. {
  15. pd.statusbar.hide();
  16. }
  17.  
  18. });


up.php
  1. <?php
  2.  
  3.  
  4. $output_dir = "upload/";
  5.  
  6.  
  7. if(isset($_FILES["myfile"]))
  8. {
  9.  
  10. $ret = array();
  11.  
  12. $error =$_FILES["myfile"]["error"];
  13. //You need to handle both cases
  14. //If Any browser does not support serializing of multiple files using FormData()
  15. if(!is_array($_FILES["myfile"]["name"])) //single file
  16. {
  17. $fileName = $_FILES["myfile"]["name"];
  18. move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
  19. $ret[]= $fileName;
  20.  
  21. }
  22. else //Multiple files, file[]
  23. {
  24. $fileCount = count($_FILES["myfile"]["name"]);
  25. for($i=0; $i < $fileCount; $i++)
  26. {
  27. $fileName = $_FILES["myfile"]["name"][$i];
  28. move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
  29. $ret[]= $fileName;
  30.  
  31. }
  32.  
  33. }
  34. echo json_encode($ret);
  35. }
  36. ?>


Chciałbym żeby nazwa pliku updatowanego zmieniała się gdy plik o takiej nazwie istnieje. Poprostu dodwać do nazwy cyfry nazwa.png, nazwa1.png itd
Najlepiej w tym pliku php bym to zrobil.
Sprawdzał za pomocą file_exist czy plik istnieje jesli tak to w petli wihile dodawal do nazwy po kolei cyfry az plik o takiej nazwie nie istnieje.
I nie wiem jak to dopisać. Cokolwiek dopisze do php skrypt wywala błedy związane z json.



Może ktoś z tym pomóc?
nospor
No to pokaz co dopisujesz, to bedzie ci pomozemy z bledem jaki masz.
kamilo818
Własnie problem pojawia sie na początku.
Cokolwiek dopisze do pliku up.php to skrypt wywala błąd

ERROR: SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data


ogolnie chciałym użyć takiego sprawdzania czy plik o takiej nazwie istnieje:
  1. $i=1;
  2. while(file_exists($output_dir.$fileName)) {
  3. $nr = strpos($fileName,".");
  4. $nazwa = substr($fileName,0,$nr-1);
  5. $roz = substr($fileName,$nr);
  6. $fileName = $nazwa.$i.$roz;
  7. $i++;
  8.  
  9. }
  10.  
nospor
1) WHILE dziala dopoki jest prawdziwy warunek.
Wiec tak ma byc: while !file_exists - czyli dopoki nie istnieje plik

2) Firefox -> Firebug i sobie zobacz co dostajesz w odpowiedzi, to bedziesz wiedzial jakie masz bledy. Bo teraz nic niewiesz procz faktu, ze cos jest nie tak
kamilo818
1) tak racja, z palca pisalem i mi uciekło

2) nie wiem czy o to chodzilo:
w fire bugu mam to:
Nagłówki:
  1. POST /rezerwacje/up.php
  2.  
  3.  
  4. Connection keep-alive
  5. Content-Encoding gzip
  6. Content-Type text/html
  7. Date Sat, 29 Nov 2014 09:15:07 GMT
  8. Server IdeaWebServer/v0.80
  9. Transfer-Encoding chunked
  10.  
  11. Accept application/json, text/javascript, */*; q=0.01
  12. Accept-Encoding gzip, deflate
  13. Accept-Language pl,en-US;q=0.7,en;q=0.3
  14. Content-Length 1169162
  15. Content-Type multipart/form-data; boundary=---------------------------23113229532512
  16. Cookie _ga=GA1.3.1139881027.1414082582; PHPSESSID=3ca6ef89c0e0708bfab74121bd5487eb
  17. Host page4u.waw.pl
  18. Referer l/rezerwacje/media
  19. User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
  20. X-Requested-With XMLHttpRequest

post
  1. Źródło
  2. -----------------------------23113229532512 Content-Disposition: form-data; name="myfile"; filename="galeria mazuria.jpg" Content-Type: image/jpeg


Odpowiedź
  1. ["galeria mazuria.jpg"]


Coś mi to powinno mówić :/ ?

-----------------------
Zrobiłem tak i powinno działać...a nie działa.
  1. $output_dir = "upload/";
  2.  
  3. if(isset($_FILES["myfile"]))
  4. {
  5.  
  6. $error =$_FILES["myfile"]["error"];
  7.  
  8. if(!is_array($_FILES["myfile"]["name"]))
  9. {
  10.  
  11. $tmp_name = $_FILES["myfile"]["tmp_name"];
  12.  
  13. $i=1;
  14. while(file_exists($output_dir.$tmp_name)) {
  15. $nr = strpos($tmp_name,".");
  16. $nazwa = substr($tmp_name,0,$nr);
  17. $roz = substr($tmp_name,$nr);
  18. $tmp_name = $nazwa.$i.$roz;
  19. $i++;
  20. }
  21.  
  22. $name = $_FILES["myfile"]["name"];
  23.  
  24. move_uploaded_file($tmp_name, $output_dir.$name);
  25. }
  26. echo json_encode($ret);
  27. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.