Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AJAX UPLOAD VALUMS
Forum PHP.pl > Forum > XML, AJAX
robpaw
Witam,

Potrzebuję prostego uploadera znalazłem coś takiego:
http://valums.com/ajax-upload/
Działa on nawet dobrze ale mam problem ze zmianą nazwy pliku który wrzucam na serwer. Chciałbym aby każdy plik był przypisany do użytkownika który go wrzucił na serwer, może ktoś z was pomoże mi coś takiego napisać, z góry dzięki. Obecnie mam ustawioną nazwę w pliku upload parametr $newname

Oto moja konfiguracja:

plik z konfiguracją uploadera

  1. <script type= "text/javascript">/*<![CDATA[*/
  2. $(document).ready(function(){
  3.  
  4. /* example 2 */
  5. new Ajax_upload('#button2', {
  6. action: 'upload.php',
  7. name: 'userfile',
  8. data : {
  9. 'key1' : "This data won't",
  10. 'key2' : "be send because",
  11. 'key3' : "we will overwrite it"
  12. },
  13. onSubmit : function(file , ext){
  14. //if (ext && new RegExp('^(' + allowed.join('|') + ')$').test(ext)){
  15. if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)){
  16. /* Setting data */
  17. this.setData({
  18. 'key': 'This string will be send with the file'
  19. });
  20.  
  21. $('#example2 .text').text('Uploading ' + file);
  22. } else {
  23.  
  24. // extension is not allowed
  25. $('#example2 .text').text('Blad !!! Można dołączać tylko pliki jpg, png, jpeg, gif');
  26. // cancel upload
  27. return false;
  28. }
  29.  
  30. },
  31. onComplete : function(file, response){
  32. $('#example2 .text').text('Dodano pomyslnie plik ' + file);
  33. }
  34. });
  35. });/*]]>*/</script>


Plik z upload

  1. $uploaddir = 'upload/';
  2.  
  3. $filename = basename($_FILES['userfile']['name']);
  4.  
  5. $ext = substr(strrchr($filename, '.'), 0);
  6.  
  7. $newname = 'image';
  8.  
  9. $uploadfile = $uploaddir . $newname . $ext;
  10.  
  11. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  12. echo "success";
  13. } else {echo "error";}
erix
Cytat
Chciałbym aby każdy plik był przypisany do użytkownika który go wrzucił na serwer, może ktoś z was pomoże mi coś takiego napisać, z góry dzięki. Obecnie mam ustawioną nazwę w pliku upload parametr $newname

A nie możesz dopisać nazwy użytkownika do tej zmiennej...? dry.gif
robpaw
Cytat(erix @ 3.09.2009, 15:21:16 ) *
A nie możesz dopisać nazwy użytkownika do tej zmiennej...? dry.gif

No właśnie nie wiem jak to zrobić dlatego pytam na forum smile.gif próbowałem do pliku upload dopisywać przez POST GET SESSION i nie wiem gdzie robię błąd.

$newname = 'image'.$_POST["nazwauzytkownika"]; nie działa;]
erix
No jak ma zadziałać, jak w POST tego nie ma?
robpaw
hmm liczyłem na kilka rad jak zrobić żeby było ;]
erix
[JAVASCRIPT] pobierz, plaintext
  1. data : {
  2. 'key1' : "This data won't",
  3. 'key2' : "be send because",
  4. 'key3' : "we will overwrite it"
  5. },
[JAVASCRIPT] pobierz, plaintext

To będzie moja jedna jedyna rada, reszta = włącz mózgownicę.
robpaw
Problem rozwiązany smile.gif w sumie bardzo prosto

  1. if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)){
  2. /* Setting data */
  3. this.setData({
  4. key: 'NAZWA_PLIKU'
  5. });


a w pliku upload $_POST['key']
organista18
Więc znalazłem rozwiązanie na przycisk submit i przesyłanie plików przez ajax'a winksmiley.jpg

http://www.malsup.com/jquery/form/#code-samples
f1xer
Cytat
Since it is not possible to upload files using the browser's XMLHttpRequest object, the Form Plugin uses a hidden iframe element to help with the task.

Czyli nie przez ajaxa smile.gif
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.