Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] uploadify - upload do różnych katalogów
marcinpruciak
post 22.12.2009, 18:05:20
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Robię sobie mini file_manager. Chciałbym uploadowac pliki poprzeż uploadify do katalogu w którym się aktualnie znajduję. Wszystko mam już dopracowane, wyprowadzoną ścieżkę. 

Ale uploadify potrafi wrzucać tylko do głównego katalogu. Nie zwraca żadnego błędu, ale plików nie ma.

Kod wygląda tak:

  1. $("#fileUploadname").fileUpload({
  2. 'uploader': '/NewKohana/vendor/jquery/uploadify/uploader.swf',
  3. 'cancelImg': '/NewKohana/vendor/jquery/uploadify/cancel.png',
  4. 'script': '/NewKohana/upload.php?path='+path,
  5. 'folder': path,
  6. 'multi': true,
  7. 'displayData': 'percentage',
  8.  
  9. });
  10.  
  11. });


  1. $tempFile = $_FILES['Filedata']['tmp_name'];
  2. $path_to_upload = '';
  3. $path_to_upload = str_replace(',', '/', $_GET['path']);
  4. $targetPath = 'media/'.$path_to_upload;
  5. $targetFile = str_replace('//','/',$targetPath) .'/'. $_FILES['Filedata']['name'];
  6. (move_uploaded_file($tempFile,$targetFile));
  7. echo '1';


Ścieżka jest zapisana w zmiennej path w javascripcie. Zamiast slasha ma przecinek. Zaczyna się od przecinka np. ,grafiki,layout



--------------------
Go to the top of the page
+Quote Post
erix
post 22.12.2009, 18:52:50
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Spróbuj:
[JAVASCRIPT] pobierz, plaintext
  1. 'script': '/NewKohana/upload.php?path='+encodeURIComponent(path),
[JAVASCRIPT] pobierz, plaintext


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinpruciak
post 22.12.2009, 19:03:15
Post #3





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Nie pomogło.

A to php jest napewno dobrze? Bo teraz nie uploaduje wcale, nawet do głownego, ale jeśli usunę dane z geta to wtedy działa.

  1. $tempFile = $_FILES['Filedata']['tmp_name'];
  2. $path_to_upload = '';
  3. $path_to_upload = str_replace(',', '/', $_GET['path']);
  4.   $targetPath = 'media/';//.$path_to_upload;
  5. $targetFile = str_replace('//','/',$targetPath) .'/'. $_FILES['Filedata']['name'];
  6. (move_uploaded_file($tempFile,$targetFile));
  7. echo '1';




--------------------
Go to the top of the page
+Quote Post
erix
post 22.12.2009, 19:04:47
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż, co zwraca var_dump dla tablic z danymi żądania (GET, POST).


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinpruciak
post 22.12.2009, 19:19:07
Post #5





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Jak to zobaczyć, jak to jest wykonywane w tle ajaxem? Jeśli uruchamiam plik ręcznie to wyswietla mi to co podam do zmiennej.


--------------------
Go to the top of the page
+Quote Post
ActivePlayer
post 22.12.2009, 20:30:17
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


uzyj file_put_contents i zrob sobie jakis plik z 'logami'. jak wykonasz request to wtedy Ci sie tam zapiszą dane
Go to the top of the page
+Quote Post
marcinpruciak
post 23.12.2009, 15:17:01
Post #7





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


 Może mi ktoś wytłumaczyć dlaczego zmienna path w jednym miejscu jest undefined a w drugim poprawna?

  1. $("#fileUploadname").fileUpload({
  2. 'uploader': '/NewKohana/vendor/jquery/uploadify/uploader.swf',
  3. 'cancelImg': '/NewKohana/vendor/jquery/uploadify/cancel.png',
  4. 'script': '/NewKohana/upload.php',
  5. 'folder': "/"+path,
  6. 'multi': true,
  7. 'displayData': 'percentage',
  8. /*onComplete: function (evt, queueID, fileObj, response, data) {
  9. // $("#upload").load("/NewKohana/admin.php/gallery_ajax/uploaded/"+fileObj.name);
  10. alert(path);
  11. }*/
  12. onAllComplete: function (evt, data){
  13. //alert(path);
  14. var id = $(this).attr("id");
  15. $("#sortable").html("");
  16. $.getJSON("http://192.168.9.101/NewKohana/admin.php/file_manager/listing/"+path,
  17. function dates(data){
  18. $.each(data, function(i,item){
  19. $("<ul>").html('<li class="ui-selectable" type="' + item.type + '" id="'+item.path+','+item.name+'"><span class="name">'+item.name+'</span> '+item.type+' <span class="size">'+item.size+'</span></li>').appendTo("#sortable");
  20. $("#path").load("http://192.168.9.101/NewKohana/admin.php/file_manager/generate_path/"+item.path);
  21. path = item.path;
  22. //$("<ul>").html(html).appendTo("#sortable");
  23. });
  24. });
  25.  
  26. }
  27.  
  28. });


Tam na dole przy json działa ok a przy 'folder' jest undefined.



Nikt nie wie?

Ten post edytował marcinpruciak 23.12.2009, 10:12:54


--------------------
Go to the top of the page
+Quote Post
erix
post 23.12.2009, 17:41:41
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż większą część kodu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinpruciak
post 23.12.2009, 17:54:19
Post #9





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Kod jest troche brzydki

Tutaj definiuję zmienną path.

  1. var path;
  2. var path;
  3. $(document).ready(function(){
  4. $.getJSON("/NewKohana/admin.php/file_manager/listing/",
  5. function dates(data){
  6. $.each(data, function(i,item){
  7. $("<ul>").html('<li class="ui-selectable" type="' + item.type + '" id="'+item.path+','+item.name+'"><span class="name">'+item.name+'</span> '+item.type+' <span class="size">'+item.size+'</span></li>').appendTo("#sortable");
  8. $("#path").load("/NewKohana/admin.php/file_manager/generate_path/"+item.path);
  9. path = item.path;
  10. });
  11. });
  12. $("li").live("dblclick", function(){
  13. var id = $(this).attr("id");
  14. $("#sortable").html("");
  15. $.getJSON("/NewKohana/admin.php/file_manager/listing/"+id,
  16. function dates(data){
  17. $.each(data, function(i,item){
  18. $("<ul>").html('<li class="ui-selectable" type="' + item.type + '" id="'+item.path+','+item.name+'"><span class="name">'+item.name+'</span> '+item.type+' <span class="size">'+item.size+'</span></li>').appendTo("#sortable");
  19. $("#path").load("/NewKohana/admin.php/file_manager/generate_path/"+item.path);//.replace(/,/gi,"/");
  20. path = item.path;
  21. });
  22. });
  23. });
  24.  
  25.  
  26. $(".ui-selectable").live("mousedown", function(){
  27. //alert($(this).attr("id"));
  28. $("li").removeClass("ui-selected");
  29. $("li").removeClass("ui-selecting");
  30. $(this).addClass("ui-selected");
  31. var id = $(this).attr("id").replace(/\s+/g, 'xxx');
  32. $("#select-result").load("/NewKohana/admin.php/file_manager/get_sidebar/"+id);
  33. });
  34.  
  35. $('#sortable .ui-selectable').live('mouseover', function() {
  36. $('.ui-selectable').draggable({
  37. helper:'clone',
  38. start: function(){
  39. $(this).addClass("ui-moving");
  40. },
  41. stop: function(){
  42. $(this).removeClass("ui-moving");
  43. }
  44. });
  45.   });


...

  1. $("#fileUploadname").fileUpload({
  2. 'uploader': '/NewKohana/vendor/jquery/uploadify/uploader.swf',
  3. 'cancelImg': '/NewKohana/vendor/jquery/uploadify/cancel.png',
  4. 'script': '/NewKohana/upload.php',
  5. 'folder': "/"+path,
  6. 'multi': true,
  7. 'displayData': 'percentage',
  8. /*onComplete: function (evt, queueID, fileObj, response, data) {
  9. // $("#upload").load("/NewKohana/admin.php/gallery_ajax/uploaded/"+fileObj.name);
  10. alert(path);
  11. }*/
  12. onAllComplete: function (evt, data){
  13. //alert(path);
  14. var id = $(this).attr("id");
  15. $("#sortable").html("");
  16. $.getJSON("/NewKohana/admin.php/file_manager/listing/"+path,
  17. function dates(data){
  18. $.each(data, function(i,item){
  19. $("<ul>").html('<li class="ui-selectable" type="' + item.type + '" id="'+item.path+','+item.name+'"><span class="name">'+item.name+'</span> '+item.type+' <span class="size">'+item.size+'</span></li>').appendTo("#sortable");
  20. $("#path").load("/NewKohana/admin.php/file_manager/generate_path/"+item.path);
  21. path = item.path;
  22. //$("<ul>").html(html).appendTo("#sortable");
  23. });
  24. });
  25.  
  26. }
  27.  
  28. });



Tyle mam kodu z wykorzystaniem tej zmiennej. Powtarza sie on jeszcze w kilku miejscach i w każdym działa tak samo.



--------------------
Go to the top of the page
+Quote Post
erix
post 23.12.2009, 18:19:38
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zdefiniuj
[JAVASCRIPT] pobierz, plaintext
  1. var path
[JAVASCRIPT] pobierz, plaintext

jako
[JAVASCRIPT] pobierz, plaintext
  1. path = '';
[JAVASCRIPT] pobierz, plaintext


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinpruciak
post 23.12.2009, 19:51:03
Post #11





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


To teraz wszystko leci do głownego katalogu. Czyta ją jako ''.


--------------------
Go to the top of the page
+Quote Post
erix
post 23.12.2009, 21:02:28
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ok, a takie proste pytanie: na jaką wartość ma ta zmienna wskazywać? Bo z tego co zauważyłem, to tylko w jednym miejscu ustawiasz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinpruciak
post 27.12.2009, 21:31:37
Post #13





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Ustawiam to w dwóch miejscach. Jest to ścieżka do aktualnego folderu, w którym znajduje się użytkownik. Pochodzi z json i tu jest na pewno wszystko dobrze.

Nikt nie ma pomysłu jak to rozwiązać?

Może w jakiś inny sposób. Może jakiś inny uploader albo coś. Chociaż zawsze używałem uploadify i zawsze jego możliwości mi wystarczały.



--------------------
Go to the top of the page
+Quote Post
erix
post 28.12.2009, 12:01:23
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Puść gdzieś ten skrypt na żywo.

Jeśli chodzi o inny skrypt, to polecam SWFUpload. Próbowałem kiedyś poprzestać na samym Uploadify, ale nie dość, że w kodzie biblioteki jest dosłownie śmietnik, to działy się jakieś dziwne rzeczy. Niestety, nie pamiętam, co konkretnie, bo było to jakiś czas temu, ale problemy wymusiły na mnie wymianę skryptu.

SWFUpload ma potężne możliwości, przejrzyj dema. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 04:19