Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX]uploadify i kasowanie plików kilka błędów
lobopol
post 11.03.2010, 11:22:04
Post #1





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


W jaki sposób połączyć te dwa skrypty aby działały poprawnie, aktualnie kasowanie działa, wgrywanie plików również, ale jeżeli wgram plik, a następnie chcę skasować jakiś to niestety nie mogę, jeżeli najpierw skasuje plik to mogę wgrać nowy, ale niestety po wgraniu znowu nie mogę kasować:

plik skryptu
  1. jQuery(document).ready(function() {
  2. $('#mainftp').uploadify({
  3. 'uploader' : 'js/uploadify/uploadify.swf',
  4. 'script' : 'js/uploadify/uploadify.php',
  5. 'multi' : true,
  6. 'auto' : true,
  7. 'height' : '30',
  8. 'width' : '250',
  9. //'sizeLimit' : '51200', //limit wielkości plików
  10. 'simUploadLimit' : '3',
  11. 'buttonImg' : 'img/button.png',
  12. 'cancelImg' : 'img/cancel.png',
  13. 'fileDesc' : 'jpg/jpeg/doc',
  14. 'fileExt': '*.jpg;*.jpeg;*.png;*.docx;' ,
  15. 'folder' : 'files',
  16. onProgress: function() {
  17. $('#loader').show();
  18. },
  19. onAllComplete: function() {
  20. $('#loader').hide();
  21. $('#allfiles').load(location.href+" #allfiles>*","");
  22. }
  23. });
  24.  
  25. $('ul li:odd').addClass('odd');
  26.  
  27. });
  28.  
  29. $(function() {
  30. $(".delete").click(function() {
  31. var commentContainer = $(this).parent();
  32. var id = $(this).attr("id");
  33. var string = 'id='+ id ;
  34.  
  35. $.ajax({
  36. type: "POST",
  37. url: "delete.php",
  38. data: string,
  39. cache: false,
  40. success: function(){
  41. commentContainer.slideUp('slow', function() {$(this).remove();});
  42. }
  43. });
  44. return false;
  45. });
  46. });




--------------------
Go to the top of the page
+Quote Post
nospor
post 11.03.2010, 11:25:24
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czyzby chodzilo o to:
$(".delete").click(function() {
nowo dodane pliki nie mają przypisanej klasy .delete albo nie mają przypianego zdarzenia, gdyz dopiero co sie dodaly. Jeslit to drugie to zaineteresuj sie funkcją LIVE w jquery


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lobopol
post 11.03.2010, 11:36:25
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


tak wygląda link przed jakąkolwiek akcją na stronie:
  1. <a href="files3/Wyko.png">Wyko.png</a> <a href="#" id="files3/Wyko.png" class="delete">usuń</a>

Tak po dodaniu
  1. <a href="files3/google.png">google.png</a> <a href="#" id="files3/google.png" class="delete">usuń</a>

Nie znam się zbytnio na jquery i sprawia mi to niestety spory problem

Kwestia jest taka, że po wgraniu pliku nie jest możliwe usunięcie żadnego pliku (ani nowego, ani tych co były) do odświeżenia strony.


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.03.2010, 12:03:04
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no to sprobuj z LIVE jak ci pisalem
http://api.jquery.com/live/


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lobopol
post 11.03.2010, 13:03:12
Post #5





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Próbuje, ale niezbyt mi to wychodzi, jak już wspominałem jquery nie jest moją mocną stroną.


--------------------
Go to the top of the page
+Quote Post
erix
post 11.03.2010, 13:06:14
Post #6





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




Pokaż, jak próbujesz.


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

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
lobopol
post 11.03.2010, 18:53:01
Post #7





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Ech kolejna sprawa


  1. <?php
  2. if($_SESSION['lvl'] == 2 || $_SESSION['lvl'] == 4){
  3. if (!empty($_FILES)) {
  4. require_once '../../../class/Database.php';
  5. require_once '../../../cfg.php';
  6. if($_SESSION['lvl'] == 4){
  7. $targetPath = "../../../files/mainPage/";
  8. }
  9. else{
  10. $db = new Database($dbLogin, $dbPassword, $dbHost, $dbName);
  11. $query = sprintf("SELECT folder FROM users WHERE user_id = '%s' LIMIT 1;",
  12. mysql_real_escape_string($_SESSION['id']));
  13. $targetPath = $db->select($query);
  14. $targetPath = "../../../".$targetPath[0]['folder']."/";
  15. }
  16.  
  17. $tempFile = $_FILES['Filedata']['tmp_name'];
  18. $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
  19. $fileTypes = str_replace('*.','',$_REQUEST['fileext']);
  20. $fileTypes = str_replace(';','|',$fileTypes);
  21. $typesArray = split('\|',$fileTypes);
  22. $fileParts = pathinfo($_FILES['Filedata']['name']);
  23.  
  24. if (in_array($fileParts['extension'],$typesArray)) {
  25. move_uploaded_file($tempFile,$targetFile);
  26. // mkdir(str_replace('//','/',$targetPath), 0755, true);
  27. echo "1";
  28.  
  29. } else {
  30. echo "Niedozwolony format pliku";
  31. }
  32. }
  33. }
  34. ?>


Sytuacja wygląda tak na stronie głównej przy logowaniu ustawiam $_SESSION['id'] (identyfikuje się w nim id użytkownika w bazie), $_SESSION['lvl'] itd. Jeżeli zostawiam tak jak jest teraz to niestety plik nie jest wgrywany na serwer (nie mam pojęcia dlaczego), jeżeli pozbędę się sesji w tym pliku i ustawie $targetPath na sztywno wszystko działa. Co zrobić aby wgrywać pliki tylko i wyłącznie do folderu użytkownika aktualnie zalogowanego oczywiście w miarę bezpiecznie (filtrowania typów danych jeszcze nie zrobiłem)? Problem poprzedni na razie zostawiam bo muszę jeszcze nieco poczytać, a ten jest nieco bardziej naglący.

Ps. Kwestia pierwszego problemu rozwiązana jednak nie było to takie trudne.


Ps2. Problem udało się rozwiązać przesyłając id sesji.

Ten post edytował lobopol 11.03.2010, 20:50:34


--------------------
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: 19.07.2025 - 19:37