Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] uploadify - upload do różnych katalogów
marcinpruciak
post
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
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
Go to the top of the page
+Quote Post
marcinpruciak
post
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
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).
Go to the top of the page
+Quote Post
marcinpruciak
post
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
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
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
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.
Go to the top of the page
+Quote Post
marcinpruciak
post
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
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
Go to the top of the page
+Quote Post
marcinpruciak
post
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
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.
Go to the top of the page
+Quote Post
marcinpruciak
post
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
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. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 12.10.2025 - 06:05