• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z uploadem plików z komputera na server.

VPS Starter Arubacloud
0 głosów
380 wizyt
pytanie zadane 13 września 2018 w PHP przez Sebix Nowicjusz (120 p.)

Witam wszystkich to moje pierwsze pytanie więc proszę o wyrozumiałość.

Jakiś czas temu zakończyłem prace nad uploadem zdjęć z komputera na server i wszystko śmigało.

Po kilku dniach chciałem dodać kilka zdjęć co okazało się niemożliwe, wyskakiwał error i upload nie działał.

Nie mam kompletnie pomysłu jak to naprawić dlatego proszę o wasze porady.

		$conn_id = ftp_connect($ftp_serwer) or die("Nie można połączyć się z $ftp_serwer");
 
			if (ftp_login($conn_id, $ftp_nazwa_uzytkownika, $ftp_haslo)) {
				if(!strtolower(end(explode('.',$_FILES['upload']['name'])))!='jpg')  
			{  
			 
			  echo 'Przesyłany plik nie jest obrazem JPG !'; exit();  
			}  
	
			if(is_uploaded_file($plik_tmp)) { 
				 move_uploaded_file($plik_tmp, "zdje/$plik_nazwa"); 
				echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze 
				<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!"; 
			} 
			else
			{echo"Error";}
			}
			 
			 else {
				echo "Nie można zalogować się jako $ftp_nazwa_uzytkownika\n";
				}
			ftp_close($conn_id); 

 

komentarz 13 września 2018 przez HaKIM Szeryf (87,590 p.)
Czy mógłbyś przejrzeć logi/odtworzyć ten błąd i podać nam jego treść? Byłoby o wiele łatwiej Ci pomóc.
komentarz 13 września 2018 przez Sebix Nowicjusz (120 p.)
 Strict Standards: Only variables should be passed by reference in /Dodaj.php on line 4, Error
komentarz 13 września 2018 przez StOcK Mądrala (6,100 p.)
co jest w linii 4?

1 odpowiedź

0 głosów
odpowiedź 14 września 2018 przez HaKIM Szeryf (87,590 p.)

http://php.net/manual/en/function.end.php

The array. This array is passed by reference because it is modified by the function. This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.

Aby naprawić ten błąd zamień ten kod:

        if(!strtolower(end(explode('.',$_FILES['upload']['name'])))!='jpg')  

na:

$explodedFilename = explode('.', $_FILES['upload']['name']);

if(!strtolower(end($explodedFilename))!='jpg')
komentarz 14 września 2018 przez UltraSF Stary wyjadacz (11,740 p.)
$extensionFilename = pathinfo($_FILES['upload']['name'])['extension'];

if(!strtolower($extensionFilename) !== 'jpg')

Chyba jeszcze lepiej, nie? 

Edit: bardziej poprawny sposób więcej na ten temat : http://php.net/manual/pl/function.pathinfo.php

komentarz 14 września 2018 przez HaKIM Szeryf (87,590 p.)

Też chciałem podać taki kodzik, ale jestem leniwy i nie miałem ochoty patrzeć czy w tym przypadku zadziała pathinfo(), so... laugh

Btw. Nie podawaj linków do polskiego PHP doca, bo jest b. często przestarzały.

1
komentarz 14 września 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Wiec oto jestem, by odciążyć cię od trudów dnia codziennego :3 XD

Ps. pathinfo lepiej zadziała, ale daje nie będzie to w pełni dobre rozwiązanie, znajdziesz je na stackoverflow: https://stackoverflow.com/questions/173868/how-to-getextract-a-file-extension-in-php
komentarz 14 września 2018 przez HaKIM Szeryf (87,590 p.)

Dziękuję uprzejmie! yes cheeky

Podobne pytania

0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 20 sierpnia 2021 w PHP przez poczatkujacy-prog Początkujący (410 p.)
0 głosów
1 odpowiedź 97 wizyt
pytanie zadane 27 grudnia 2016 w PHP przez Dar3Q Obywatel (1,200 p.)
0 głosów
1 odpowiedź 487 wizyt
pytanie zadane 24 października 2017 w PHP przez Q_Nick Mądrala (5,010 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...