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

Plik na serwerze, ścieżka poprawna a mimo to wyskakuje błąd 404

0 głosów
88 wizyt
pytanie zadane 30 listopada 2016 w PHP, Symfony, Zend przez Peengie Początkujący (360 p.)

Cześć,

Mam bardzo denerwujący problem, mianowicie mam skrypt w którym użytkownicy mogą edytować swoje logo. Przy niektórych użytkownikach działa bez problemu, a przy niektórych nie wyświetla mi grafiki. Co ciekawe, grafika na serwerze jest zapisywana prawidłowo, jeżeli wchodzę przez total commander to normalnie otwiera grafikę. W bazie mysql sprawdziłem i ścieżka też jest poprawnie zapisana. Jednak wpisując tą ścieżkę w przeglądarkę wywala mi bład 404 mimo że inny użytkownik wgrywając tą samą grafikę nie ma problemu :/ Na problem natrafiłem u dwóch użytkowników, nic nie daje ich usunięcie i ponowne wpisanie.

Zdjęcie wgrywam tak (jest tu jeszcze funkcja zmniejszająca rozmiar zdjęcia):

<?php

	session_start();
	
	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: index.php');
		exit();
	}		
$login=$_SESSION['login'];
								require_once "connect.php";
								$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
								
								if (mysqli_connect_errno() != 0)
								{
									echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
								}
									else 
								{		
									
								$plik_tmp = $_FILES['plik']['tmp_name']; 
								$plik_nazwad = $_FILES['plik']['name']; 
								$plik_rozmiar = $_FILES['plik']['size']; 
								$plik_nazwa = strtolower($plik_nazwad);

								function resize_image($file, $w, $h, $crop=FALSE) 
								{
								list($width, $height) = getimagesize($file);
								$r = $width / $height;
								if ($crop) 
								{
									if ($width > $height) 
									{
									$width = ceil($width-($width*abs($r-$w/$h)));
									} 
									else 
									{
									$height = ceil($height-($height*abs($r-$w/$h)));
									}
									$newwidth = $w;
									$newheight = $h;
									}
									else 
									{
									if ($w/$h > $r) 
									{
										$newwidth = $h*$r;
										$newheight = $h;
									} 
									else 
									{
										$newheight = $w/$r;
										$newwidth = $w;
									}
									}
									$src = imagecreatefromjpeg($file);
									$dst = imagecreatetruecolor($newwidth, $newheight);
									imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
							 
										return $dst;
									}
										if(is_uploaded_file($plik_tmp)) { 
										move_uploaded_file($plik_tmp, "uploads/max/$login-$plik_nazwa"); 
										$img = resize_image("uploads/max/$login-$plik_nazwa", 360, 225);
										imagejpeg($img, "uploads/$login-$plik_nazwa");
										unlink("uploads/max/$login-$plik_nazwa");
										$polaczenie->query("UPDATE user SET logo='http://domena.pl/wizytowka/uploads/$login-$plik_nazwa' WHERE login='$login'"); 
										$_SESSION['logo'] = "http://domena.pl/wizytowka/uploads/$login.$plik_nazwa";
										echo "Plik: <strong>$plik_nazwa</strong> zostal przeslany na serwer!<br />"; 
										}	
									$polaczenie -> close();
									echo '<meta http-equiv="refresh" content="1; URL=menu.php">';
								}
						
?>

Załączam logi z wyświetlenia grafiki:

 [30/Nov/2016:14:47:10 +0100] "GET /wizytowka/uploads/sasasa-t.jpg HTTP/1.1" 404 618 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; rv:11.0) like Gecko"
 [30/Nov/2016:14:47:15 +0100] "GET /wizytowka/uploads/peengie-t.jpg HTTP/1.1" 200 17811 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; rv:11.0) like Gecko"

Jak widać w ścieżce zmieniła się tylko nazwa użytkownika. Próbowałem różne przeglądarki, komputery i wszędzie ten sam problem :( Czy wina może leżeć po stronie serwera?

Jeżeli nie ta kategoria to przepraszam, ale nie wiedziałem czy dać to do php czy do mysql czy jeszcze w jakąś inną. 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 186 wizyt
+1 głos
2 odpowiedzi 100 wizyt
pytanie zadane 13 września 2016 w JavaScript, jQuery, AJAX przez Miszo Bywalec (2,100 p.)
0 głosów
1 odpowiedź 42 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

61,204 zapytań

107,094 odpowiedzi

223,009 komentarzy

32,535 pasjonatów

Przeglądających: 195
Pasjonatów: 3 Gości: 192

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...