Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Upload plików na serwer, ...z zapisem do MySQL'a !
camelx
post 9.05.2005, 19:01:33
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Czy mógłby mi ktoś wytłumaczyć jak najlepiej zrobić upload plików przez formularz mniej więcej z takimi funkcjami:

- formularz z polami: "Plik (Przeglądaj...)" oraz "Opis" (zapisywany w bazie)
- podczas uploadu zmiana nazwy pliku na jakąś losową np. f_011.doc, f_012.doc, itd... (upload do katalogu 'files')
- opis pliku zapisany w bazie danych (baza miała by np. pola: id, opis, nazwa, czyli przykładowo: id=2, opis='Upload plików za pomocą php', nazwa=f_002)
- możliwość kasowania plików jednocześnie z bazy i z katalogu 'files'
- mozliwość wysyłania wybranych rodzajów plików, np. tylko *.doc, *.jpg i *.txt.
- (ewentualnie) wysyłanie kilku plików jednocześnie

Chcę osiągnąć mniej więcej taki efekt, że tekst (odczytany z bazy): "Upload plików za pomocą php" bedzie linkiem do pliku 'files/f_002.doc'.

Czy możecie mi napisać jak mam się do tego zabrać, na jakiej zasadzie to ma działać questionmark.gif Nigdy nie robiłemjeszcze upload'u więc mile widziane byłu by też przykłady smile.gif.

Z góry dzięki. Pozdrawiam.


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
crash
post 9.05.2005, 19:35:45
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


No i w czym problem? Pokaż swój kod, a jak chcesz całego gotowca to zgłoś się do działu Praca Oferowana..


--------------------
Go to the top of the page
+Quote Post
camelx
post 9.05.2005, 19:47:12
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Problem? Problem jest taki, że chcę zrobic upload ale nie wiem jak... Powyżej napisałem jakie funckje chciałbym żeby ten upload posiadał i licze na to, ze ktoś mi wyjaśni jak to zrobić...
Może to co napisałem powyżej to trochę za duzo wiec poszę tylko o opis jak zrobić cos takiego, ze podczas uploadu opis pliku bedzie zapisywany w bazie. W jaki sposób można to zrobić?

A Praca Oferowana odpada. Nie chcę gotowego skryptu, sam go napiszę ale nie wiem od czego zacząć i liczyłem na to, ze mi ktoś pomoże...


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
NuLL
post 9.05.2005, 19:58:34
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Tak wyglada kod akceptuajcy pliki od strony php.
  1. <?php
  2. $userfile = $_FILES['userfile']['tmp_name'];
  3. $userfile_name = $_FILES['userfile']['name'];
  4. $userfile_size = $_FILES['userfile']['size'];
  5. $userfile_type = $_FILES['userfile']['type'];
  6. $userfile_error = $_FILES['userfile']['error'];
  7.  
  8. $error='';
  9.  
  10. if ($userfile_error > 0){
  11. switch ($userfile_error){
  12. case 1: $error='Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
  13. case 2: $error='Rozmiar pliku przekroczył wartość max_file_size'; break;
  14. case 3: $error='Plik wysłany tylko częściowo'; break;
  15. case 4: $error'Nie wysłano żadnego pliku'; break;
  16. }
  17. }
  18.  
  19. if(substr($userfile_name,-3,3)!='jpg'){
  20. $error='Plik nie jest plikiem .jpg';
  21. }
  22.  
  23. if(strlen($error)>5){
  24. die(); //byl blad
  25. }
  26.  
  27.  
  28.  
  29. if (is_uploaded_file($userfile)){
  30.  if (!move_uploaded_file($userfile, '../notesimages/'.$userfile_name)){
  31. echo 'Problem: Plik nie może być skopiowany do katalogu';
  32.  }
  33. }else{
  34. echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: '.$userfile_name;
  35. }
  36. ?>

Dalej sam kombinuj.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
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: 14.08.2025 - 10:00