![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,w książce o php znalazłem taki skrypt:
$uploaddir = 'Images/'; if(move_uploaded_file($_FILES['plik_1']['tmp_name'], $uploaddir.$_FILES['plik_1']['name'])){ print "Plik został załadowany.\n"; } else{ print "Plik nie został załadowany\n"; } pozwala on przesyłać pliki na serwer. Wszystko ładnie działa pliki rzeczywiście się przesyłają,ale jest mały problem. Chciałbym,żeby plik zawsze nazywał się $nazwa_pliku (ta zmienna za każdym razem będzie inna...) Nie wiem jak zmienić powyższy kod,żeby własnie plik wysłany do serwera miał nazwę określoną w zmiennej $nazwa_pliku. Jeżeli ktoś wie jak zmodyfikować powyższy kod to proszę o odpowiedź. Dzięki i pzdr |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A jak próbowałeś kolego?
To nie jest dział gotowce. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam kolego
![]() A więc próbowałem na różne sposoby (php znam słabo) ['plik_1'] ['tmp_name'] ['name'] tu próbowałem zamienić wyraz na moją zmienną. Pomożecie? ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
To:
potraktuj pathinfo (w dokumentacji wszystko jest z przykładami) A zrobisz to po to, aby uzyskać rozszerzenie. Potem kłania się łączenie stringów. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie ogarniam tego :/
Ten skrypt jest mi potrzebny do własnej strony,którą prowadzę. Php znam w podstawie-a i to za dużo powiedziane. Udało mi się połączyć zmienną z nazwą,ale ja chce żeby plik nazywał się jak zmienna... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, trochę ci to wyjaśnię. Twój skrypt:
To:
Jest to plik tymczasowy, który zauploadowałeś ze swojego komputera poprzez formularz. A to:
Jest to bezwzględna ścieżka do pliku, który zostanie zapisany. Czyli tak jak mówił fifi209 potraktuj to pierwsze funkcją pathinfo, czyli na przykład:
Teraz wystarczy to wszystko zlepić czyli:
i woila! -------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszystko działa,ale nie wiem czemu pliki zapisują się bez rozszerzenie?
![]() $rozszerzenie=pathinfo($_FILES['plik_1']['tmp_name']); $rozszerzenie=$rozszerzenie['jpg']; ///// tu daje jako rozszerzenie jpg $uploaddir = 'Images/'; $twoja_nazwa = 'piotr'; $przeznaczenie=$uploaddir.$twoja_nazwa.$rozszerzenie; if(move_uploaded_file($_FILES['plik_1']['tmp_name'],$przeznaczenie)){ print "Plik został załadowany.\n"; } else{ print "Plik nie został załadowany\n"; } ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie zmieniaj nic w tym zapisie:
To odczytuje jakie jest aktualne rozszerzenie pliku więc ręcznie nie musisz go wprowadzać, skrypt sam sobie wykryje i wpisze odpowiednie. Zmień to i powinno działać. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak mam tak jak ty napisałeś to też plik nie ma rozszerzenia.Wstawie może cały kod:
$rozszerzenie=pathinfo($_FILES['plik_1']['tmp_name']); $rozszerzenie=$rozszerzenie['extension']; $uploaddir = 'Images/'; $przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie; if(move_uploaded_file($_FILES['plik_1']['tmp_name'],$przeznaczenie)){ print "Plik został załadowany.\n"; } else{ print "Plik nie został załadowany\n"; } |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak wygląda zmienna $numer_pliku? Nie wpisuje ci czasem rozszerzenia w nazwie ale bez kropki - np. Images/nazwajpg?
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
$numer_pliku to cyfra.
$przeznaczenie=$uploaddir.$numer_pliku."."$rozszerzenie; Ta linijkę kodu wypluwa mi jako błąd Gdy zamienie ją na $przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie; to powstaje plik np 1tmp poprostu do nazwy dodaje tmp ![]() PS Jak mam taki skrypt $rozszerzenie=pathinfo($_FILES['plik_1']['tmp_name']); $rozszerzenie=$rozszerzenie['extension']; $uploaddir = 'Images/'; $przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie; to dodaje tmp do nazwy Dobra już działa $przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie.$kropka.'jpg'; A macie jakiś pomysł jak zrobić ograniczanie wrzucania plików do np 3MB?? Ten post edytował franz87 15.11.2009, 16:49:44 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobra już działa $przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie.$kropka.'jpg'; oO I teraz zapisuje ci plik jako np. plikjpg.jpg? Powinno być $przeznaczenie=$uploaddir.$numer_pliku.'.'.$rozszerzenie; A macie jakiś pomysł jak zrobić ograniczanie wrzucania plików do np 3MB?? Sprawdzasz sobie czy $_FILES['plik1']['size'] jest mniejsze od 3145728 (3*1024*1024), jeśli tak to wysyłasz, jeśli nie dajesz komunikat. -------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
$przeznaczenie=$uploaddir.$numer_pliku.$rozszerzenie.$kropka.'jpg';
Tak ten kod działa,równie dobrze mógłbym napisać $kropka = "."; $przeznaczenie=$uploaddir.$numer_pliku.$kropka.'jpg'; i też by działał bo $rozszerzenie nie działa wogóle. Teraz elegancko zapisuje sie w folderze $uploaddir plik o nazwie numer_pliku.jpg A sprawdzanie wielkości już zrobiłem-jakoś do tego doszłem ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 10:46 |