Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Upload pliku i dodanie rekordu
Dawior
post 25.11.2009, 22:33:45
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 15.03.2008

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


Witam mam takie pytanie jak zrobić żeby po uploadzie pliku został dodany rekord do bazy mysql. Ten rekord to by był link tego pliku co go zuploadowałem. Prosze o pomoc z góry dzięki
Go to the top of the page
+Quote Post
nospor
post 25.11.2009, 22:34:58
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




no ale czego dokladnie nie wiesz? nie umiesz dodac rekordu do bazy danych?


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

"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
Indeo
post 25.11.2009, 22:39:57
Post #3





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Mówiąc ogólnie musisz podczas przechwytywania pliku zapisać do bazy informacje o tym gdzie go zapisujesz w systemie plików. Do ścieżki gdzie zapisujesz pliki dodajesz nazwę pliku zawartą w zmiennej $_FILES['nazwa_twojego_pola_file']['name']. "klikalny" link będzie chyba musiał być jeszcze przepuszczony przez funkcje urlencode() w razie gdyby w nazwie pliku były spacje i polskie znaki itp.


--------------------
Go to the top of the page
+Quote Post
Dawior
post 28.11.2009, 13:47:36
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 15.03.2008

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


aha dzięki a jak zrobić żeby po załadowaniu pliku zmieniła się nazwa pocżtkowa jakies losowe liczby albo coś żeby nie można było podminiac pliku?
Go to the top of the page
+Quote Post
Blame
post 28.11.2009, 14:39:09
Post #5





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Chodzi ci o to żeby nie wystąpiły dwa takie same pliki? Jeśli tak to generuj sobie nazwę z pomocą funkcji microtime.


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 28.11.2009, 14:43:53
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Blame @ 28.11.2009, 14:39:09 ) *
Chodzi ci o to żeby nie wystąpiły dwa takie same pliki? Jeśli tak to generuj sobie nazwę z pomocą funkcji microtime.


Zależy jak do tego podejść. Ja np. wolę md5($nazwa.time())


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Blame
post 28.11.2009, 16:26:07
Post #7





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


@/\
Ja robię podobnie, jednak podałem rzecz podstawową licząc na pomyślunek naszego zapytowywacza winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Dawior
post 28.11.2009, 17:45:13
Post #8





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 15.03.2008

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


Mam jeszcze jeden problem mam taki kod:

upload.php
  1. <?php
  2. include('config.php');
  3. $uploaddir = 'mp3/';
  4. $rozszerzenie = explode(".", $_FILES['plik']['name']);
  5. for($count=0;$count<=count($dozwolone)-1;$count++)if($rozszerzenie[1]==$dozwolone[$count])$ok=1;
  6. if($_FILES['plik']['size'] <= $max_size){
  7. if($ok == 1){
  8. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.'(HouseMusic.pl)'.$liczba.$_FILES['plik']['name'])){
  9. echo 'Plik Załadowano Pomyślnie<br>';
  10. echo 'Nazwa:&nbsp;&nbsp;';
  11. echo ''.'(HouseMusic.pl)'.$liczba.$_FILES['plik']['name'].'';
  12. }else{
  13. echo 'Błąd podczas wysyłania pliku.';
  14. }
  15. }else{
  16. echo 'Niedozwolone rozszerzenie (.'.$rozszerzenie[1].')<br>';
  17. echo 'Możesz Wysłać Pliki tylko w Formacie *';
  18. for($count=0;$count<=count($dozwolone)-1;$count++)
  19. echo $dozwolone[$count].'';
  20. }
  21. }else{
  22. echo 'Plik ma za duży rozmiar ('.$_FILES['plik']['size'].' bajtów)<br>';
  23. echo 'Dozwolony rozmiar: '.$max_size.' bajtów.';
  24. }
  25. include 'engine/conn.php';
  26. include 'engine/bbcode.php';
  27. $down = 'INSERT INTO `muzyka`(`nazwa`, `link`,`zewlink`) VALUES ("'.$_POST["nazwa"].'", "'.$_POST["link"].'", "'.BBCode($_POST["zewlink"]).'")';
  28. mysql_query($down);
  29.  
  30. ?>


Jak zrobić żeby (HouseMusic.pl)'.$liczba.$_FILES['plik']['name'] dodawało się jako rekord do bazy danych? bardzo proszę o pomoc z góry dzięki.
Go to the top of the page
+Quote Post
Blame
post 28.11.2009, 17:53:42
Post #9





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Nie dam ci gotowca ale mogę trochę naprowadzić winksmiley.jpg Tutaj:
  1. $uploaddir.'(HouseMusic.pl)'.$liczba.$_FILES['plik']['name']

masz przechowywany adres zaupoloadowanego pliku(możesz go przypisać do zmiennej w tedy będzie ci prościej, a tutaj:
  1. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.'(HouseMusic.pl)'.$liczba.$_FILES['plik']['name'])){

sprawdzasz czy plik się zapisał. Więc możesz w tym if'ie wstawić sobie adres do tabeli mysql.
PS. KLIK!

Ten post edytował Blame 28.11.2009, 17:54:33


--------------------
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: 27.04.2024 - 09:24