• 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.

Object Storage Arubacloud
0 głosów
393 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ź 262 wizyt
pytanie zadane 20 sierpnia 2021 w PHP przez poczatkujacy-prog Początkujący (410 p.)
0 głosów
1 odpowiedź 102 wizyt
pytanie zadane 27 grudnia 2016 w PHP przez Dar3Q Obywatel (1,200 p.)
0 głosów
1 odpowiedź 526 wizyt
pytanie zadane 24 października 2017 w PHP przez Q_Nick Mądrala (5,010 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...