Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Ciekawe, że nie ma tam pliku zapewne coś źle robisz. Jakbyś sypnął jakimś errorem to co innego. Skrypt powinien działać poprawnie, możliwe że za duży plik wysyłasz bo masz ustawione na 5 mega lub katalog nie istnieje lub twój serwer nie ma możliwości wysyłania.


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

Go to the top of the page
+Quote Post
Herny
post
Post #3





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

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


Jednak skrypt działa, ale z dużym opoźnieniem.
tzn. plik pojawia się dopiero po kilkunastu minutach.

To pomoże ktoś z tym opisem i całą resztą co pisałem wyżej

Edit.

Dało by się jeszcze zrobić coś w stylu dodawania losowej liczby przy zakonczeniu nazwy?
Zrobiłem takie coś:
$plik_nazwa = $_FILES['plik']['name'].rand(1, 15000);

Ale wtedy rozszeżenie nie bedzie działać

Ten post edytował Herny 30.08.2009, 18:55:44
Go to the top of the page
+Quote Post
Fafu
post
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

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


Kod
Jednak skrypt działa, ale z dużym opoźnieniem.
tzn. plik pojawia się dopiero po kilkunastu minutach.

laugh.gif
Weź sie wyloguj z ftp i znowu zaloguj to zobaczysz, że plik już jest tylko jak używasz Total Commandera to on buforuje katalogi


--------------------
http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły.
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Cytat(Herny @ 30.08.2009, 18:38:09 ) *
Dało by się jeszcze zrobić coś w stylu dodawania losowej liczby przy zakonczeniu nazwy?
Zrobiłem takie coś:
$plik_nazwa = $_FILES['plik']['name'].rand(1, 15000);

Ale wtedy rozszeżenie nie bedzie działać


Jeżeli chcesz dopisać unikalny id do końca nazwy pliku zainteresuj się:
http://pl.php.net/manual/pl/function.pathinfo.php

Ten post edytował potreb 30.08.2009, 21:02:31


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

Go to the top of the page
+Quote Post
CyberDuck_
post
Post #6





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

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


albo nacisnij poprostu ctrl + R - odswierzenie zawartosci katalogu ...
Go to the top of the page
+Quote Post
tybetiusz
post
Post #7





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 29.08.2009

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


Jeśli dodajesz losową liczbę to zrób taki "sprawdzacz - pętlę", który będzie sprawdzał, czy nazwa jest wolna.
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #8





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

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 Aktualny czas: 22.08.2025 - 00:48