Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Upload
Herny
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.08.2009

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


Witam.
Chodzi mi o stworzenie skryptu uploadu wraz z opisem pliku i jednym opcjonalnym polem, w którym wklejałoby się link.
Po nacisnieciu przycisku np. wyslij plik zostanie wysłany do katalogu np. /uploads i zostanie wyswietlona strona z linkiem do tego pliku.

Próbowałem tego.
http://forum.programosy.pl/skrypt-uploadu-...w-vp793955.html

Ale gdy wyśle plik nie ma go katalogu który podaje :/

Ten post edytował Herny 30.08.2009, 15:15:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CyberDuck_
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Przy duzej ilosci plikow z obrazkami moze sie
zaczac problem. Lepiej jest nadawac nowa nazwe
pliku dodawanego np na podstawie znacznika czasu
plus np dwie ostatnie cyfry microtime. Wtedy masz
pewnosc, ze sie dany plik nie powtorzy i dodatkowo
latwo bedziesz mogl znalezc te pliki.
Utworz dodatkowo foldery od np 0 do 9 i wrzucaj do nich
obrazki welug ostatniej cyfry. Czyli jesli obrazek bedzie
mial nazwe z cyfra na koncu 3 to wrzucasz do foldera 3, itd.
W przyszlosci to zaprocentuje porzadkiem na serwerze i
latwoscia wykonywania backup, albo wrzucenia zawartosci
na inny serwer.
Np cos takiego :
  1. if ($wyslij_file != '') {
  2.  
  3. # sprawdzenie obrazka wraz z zapisem na dysk serwera
  4. $blad ='';
  5. $file_net_tab = explode(".", $file_name);
  6.  
  7. $il_dan = count($file_net_tab);
  8. $rozszerzenie = $file_net_tab[$il_dan - '1'];
  9. $file_name = substr(microtime(), 2, 3) .time() ."." .$rozszerzenie;
  10.  
  11. @copy("$file", "$folder$file_name"); //zapis pliku na dysk
  12. if (file_exists("$folder$file_name")) {
  13. $size = getImageSize("$folder$file_name");
  14. if ($size[0] > $_SESSION['maxX'] OR $size[1] > $_SESSION['maxY']) {
  15. $blad = "Rozmiary obrazka przekraczaja dopuszczalne wymiary ".$_SESSION['maxX'] ." x ".$_SESSION['maxY'] ." pixeli.";
  16. @unlink("$folder$file_name");
  17. }
  18. if ($size[0] <= 50 OR $size[1] <= 50) {
  19. $blad = "Obrazek zbyt mały. Najmniejszy dopuszczalny rozmiar to 20 x 20 pisxeli.";
  20. @unlink("$folder$file_name");
  21. }
  22.  
  23. } else {
  24.  
  25. $blad = "Plik niezostał zapisany z nieznanych przyczyn.Mógł wystąpić błąd w transmisji danych.";
  26. @unlink("$folder$file_name");
  27.  
  28. }

To jest oczywiscie tylko tak na szybko wiec mozesz sie jedynie
na tym opierac, a nie kopiowac ... chociaz skrypt powinien dzialac.

Ten post edytował CyberDuck_ 31.08.2009, 16:20:06
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 00:21