Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][uploadify] - problem
Forum PHP.pl > Forum > Przedszkole
Mariner
Witam.

Mój problem jest zdaje się banalny. Nie wiem jak sprawić aby, po wybraniu uploadowanego pliku, i wysłaniu formularza, w zmiennej $_FILES znalazły się dane uploadowanych plików.
Na chwilę obecną, po uplowadowaniu plików (zapisują się w odpowiednim folderze - sprawdzalem) i wysłaniu całego formularza zmienna $_FILES wygląda tak:

  1. (
  2. [file_upload] => Array
  3. (
  4. [name] =>
  5. [type] =>
  6. [tmp_name] =>
  7. [error] => 4
  8. [size] => 0
  9. )
  10.  
  11. )
  12.  



I nie wiem czy to ja gdzieś robię błąd, czy coś u mnie nie działa, czy po prostu tak ma być a ja tylko nie wiem jak w uploadify dostać się do danych uploadowanych plików.

Proszę bardzo o pomoc ewentualnie podpowiedź jak powinno się to obsługiwać. Dokumentację czytałem na tyle o ile znam angielski ale niewiele mi to dało.

nagłówek formularza :
  1. <script type="text/javascript" src="/formularz/uploadify/jquery-1.4.2.min.js"></script>
  2. <script type="text/javascript" src="/formularz/uploadify/swfobject.js"></script>
  3. <script type="text/javascript" src="/formularz/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function() {
  6. $('#file_upload').uploadify({
  7. 'uploader' : '/formularz/uploadify/uploadify.swf',
  8. 'script' : '/formularz/uploadify/uploadify.php',
  9. 'cancelImg' : '/formularz/uploadify/cancel.png',
  10. 'folder' : '/formularz/uploadify/files/',
  11. 'removeCompleted': false,
  12. 'multi' : true,
  13. 'auto' : true
  14. });
  15. });
  16. </script>


kod formularza :

  1. <form action="/formularz/formularz.php" method="post" enctype="multipart/form-data" id="form">
  2.  
  3. <fieldset id="creditor">
  4. ...
  5. </fieldset>
  6.  
  7. <fieldset>
  8. <legend>Załączniki</legend>
  9. <input id="file_upload" name="file_upload" type="file" />
  10. </fieldset>
  11.  
  12. <p><input type="submit" value="wyślij"/></p>
  13.  
  14. </form>


uploadify.php

  1. if (!empty($_FILES)) {
  2. $tempFile = $_FILES['Filedata']['tmp_name'];
  3. $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
  4. $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
  5.  
  6. // $fileTypes = str_replace('*.','',$_REQUEST['fileext']);
  7. // $fileTypes = str_replace(';','|',$fileTypes);
  8. // $typesArray = split('\|',$fileTypes);
  9. // $fileParts = pathinfo($_FILES['Filedata']['name']);
  10.  
  11. // if (in_array($fileParts['extension'],$typesArray)) {
  12. // Uncomment the following line if you want to make the directory if it doesn't exist
  13. // mkdir(str_replace('//','/',$targetPath), 0755, true);
  14.  
  15. move_uploaded_file($tempFile,$targetFile);
  16. echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
  17. // } else {
  18. // echo 'Invalid file type.';
  19. // }
  20. }
nospor
Cytat
Na chwilę obecną, po uplowadowaniu plików (zapisują się w odpowiednim folderze - sprawdzalem) i wysłaniu całego formularza zmienna $_FILES wygląda tak:

No własnie. Upload już zrobiłeś. Wysłanie formularza metodą ręczną już nie wysyła ci ponownie tego pliku.
Mariner
Parametr 'auto' przestawiam na false, więc skrypt już nie uploaduje plików automatycznie na serwer przy wybraniu pliku.
Po wysłaniu całego formularza zmienna $_FILES pozostaje jednak w takim samym stanie jak poprzednio, jedynie uploadowane pliki nie pojawiają się w ogóle folderze pomimo że w divie queue była lista wybranych do uploadowania plików.
Może powinno się samemu napisać funkcję która dodaje automaczynie input "file" z danymi pliku do formularza po wybraniu danego pliku ?
nospor
Po co więc stosujesz uploadify skoro plik i tak zamierzasz wysłać normalnie z formularzem?
Mariner
Co prawda nie jest to odpowiedź na mój problem ale chciałem użyć uploadify ponieważ daje możliwość fajnego dodawanie do formularza dowolnej ilość załączników co byłoby w zasadzie rozwiązaniem mojego aktualnego problemu ponieważ formularz jest wysyłany mailem i powinien mieć możliwość dodawania załączników.

Ale wobec tych problemów spróbuję zdaje się wykorzystać inną bibliotekę "SWFUpload". Z tego co się dowiedziałem przekopując cały dzień sieć w poszukiwaniu info na temat mojego problemu z Uploadify, to wielu ludzi skarży się iż jest to zawodne w podstawowej konfiguracji oraz nie działa pod niektórymi najnowszymi przeglądarkami jak zdaje się np. Opera 10.
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.