• 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
90 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 193 wizyt
+1 głos
2 odpowiedzi 101 wizyt
pytanie zadane 13 września 2016 w JavaScript, jQuery, AJAX przez Miszo Bywalec (2,100 p.)
0 głosów
1 odpowiedź 44 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

63,181 zapytań

109,415 odpowiedzi

228,571 komentarzy

42,828 pasjonatów

Przeglądających: 197
Pasjonatów: 14 Gości: 183

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.

...