Skocz do zawartości

[php/mysql] Automatyczna zmiana chmodu uploadowanego pliku


mkuczma

Rekomendowane odpowiedzi

Witajcie. Od 3 dni męczę się z pewnym skryptem, który możecie zobaczyć na stronie www.jejciu.pl Otóż w panelu administracyjnym skryptu dodaje jakiś filmik, wszystko pięknie, Wypełniam pole do zatwierdzenia, jest ok. gdy jednak wchodzę na stronę główną okazuje się, ze mimo tego, że dodałem screen, nie wyświetla się on. Metodą prób i błędów odkryłem, że aby screen był wyświetlany miniaturka musi mieć ustawiony chmod 777. Domyślnie miniaturki zapisywane są na serwerze z chmodem 600. Co zrobić, aby automatycznie był im nadawany chmod np 777.

PS. Zmieniłem chmod folderu z miniaturkami. Nie pomogło.

Pozdrawiam i czekam na szybką odpowiedź.

Odnośnik do komentarza
Udostępnij na innych stronach

żeby jeszcze coś z tego zrozumiał. Może znajdzie się jakaś bratnia dusza, która wstawi odpowiednią funkcję w plik odpowiedzialny za dodanie fotek, w tym przypadku jest to chyba admin/dodaj_link.php:

<?php
if(empty($_GET['akcja2'])) {
	$smarty->assign('szab_akcja', 1);
}elseif($_GET['akcja2'] == 'dodaj') {
	if(empty($_GET['rodzaj'])) {
			$smarty->assign('szab_akcja', 2);
	}else{
			$_GET['rodzaj'] = intval($_GET['rodzaj']);
			if( ($_GET['rodzaj'] < 1) or ($_GET['rodzaj'] > 17) ) {
					$smarty->assign('szab_akcja', 2);
			}else{
					$smarty->assign('szab_akcja', 3);
					$smarty->assign('szab_rodzaj', $_GET['rodzaj']);

					$dl_z1 = "select * from kategorie;";
					$dl_w1 = mysql_query($dl_z1);
					$dl_ile = mysql_num_rows($dl_w1);
					$smarty->assign('szab_ile', $dl_ile);
					if($dl_ile > 0) {
							while($dl_d1 = mysql_fetch_array($dl_w1)) {
									$dl_tabid[] = $dl_d1['id'];
									$dl_tabnazwa[] = $dl_d1['nazwa'];
							}
							$smarty->assign('szab_tabid', $dl_tabid);
							$smarty->assign('szab_tabnazwa', $dl_tabnazwa);
					}
			}
	}
}elseif($_GET['akcja2'] == 'zapisz') {
	if(empty($_GET['rodzaj'])) {
			if( ($_GET['rodzaj'] < 1) or ($_GET['rodzaj'] > 17) ) { $dl_bledy[] = 'Nieprawidłowy rodzaj.'; }
	}else{
			$_GET['rodzaj'] = intval($_GET['rodzaj']);
			if( ($_GET['rodzaj'] < 1) or ($_GET['rodzaj'] > 17) ) { $dl_bledy[] = 'Nieprawidłowy rodzaj.'; }

			if( ( ($_GET['rodzaj'] == 1) or ($_GET['rodzaj'] == 2) or ($_GET['rodzaj'] == 3) or ($_GET['rodzaj'] == 4) or ($_GET['rodzaj'] == 5) or ($_GET['rodzaj'] == 6) or ($_GET['rodzaj'] == 15) or ($_GET['rodzaj'] == 17) ) and (empty($_POST['link'])) ) { $dl_bledy[] = 'Pole link jest puste.'; }
			if( ($_GET['rodzaj'] == 16) and (empty($_POST['link'])) ) { $dl_bledy[] = 'Pole tekst jest puste.'; }

			if( ($_GET['rodzaj'] >= 7) and ($_GET['rodzaj'] <= 14) ) {
					if(is_uploaded_file($_FILES['plik']['tmp_name'])) {
							if($_FILES['plik']['size'] > $ustawienia['rozmiar']) { $dl_bledy[] = 'Uploadowany plik może mieć najwyżej ' . $ustawienia['rozmiar'] . ' bajtów.'; }
							if($_FILES['plik']['error'] != 0) { 'Wyst±pił bł±d uploadowania plików numer ' . $_FILES['plik']['error']; }

							$dl_rozsztmp = explode('.', $_FILES['plik']['name']);
							$dl_rozszile = count($dl_rozsztmp) - 1;
							$dl_rozsz = strtolower($dl_rozsztmp[$dl_rozszile]);

							if($_GET['rodzaj'] == 7) {
									if( ($dl_rozsz != 'jpg') and ($dl_rozsz != 'jpeg') ) {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.jpg lub *.jpeg';
									}else{
											if( ($_FILES['plik']['type'] != 'image/jpeg') and ($_FILES['plik']['type'] != 'image/pjpeg') ) { $dl_bledy[] = 'Uploadowany plik musi być w formacie JPEG.'; }
									}
							}

							if($_GET['rodzaj'] == 8) {
									if($dl_rozsz != 'gif') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.gif';
									}else{
											if($_FILES['plik']['type'] != 'image/gif') { $dl_bledy[] = 'Uploadowany plik musi być w formacie GIF.'; }
									}
							}

							if($_GET['rodzaj'] == 9) {
									if($dl_rozsz != 'png') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.png';
									}else{
											if($_FILES['plik']['type'] != 'image/png') { $dl_bledy[] = 'Uploadowany plik musi być w formacie PNG.'; }
									}
							}

							if($_GET['rodzaj'] == 10) {
									if($dl_rozsz != 'mp3') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.mp3';
									}else{
											if( ($_FILES['plik']['type'] != 'audio/mpeg') and ($_FILES['plik']['type'] != 'audio/mpeg3') and ($_FILES['plik']['type'] != 'audio/x-mpegurl') ) { $dl_bledy[] = 'Uploadowany plik musi być w formacie MP3.'; }
									}
							}

							if($_GET['rodzaj'] == 11) {
									if($dl_rozsz != 'avi') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.avi';
									}else{
											if($_FILES['plik']['type'] != 'video/x-msvideo') { $dl_bledy[] = 'Uploadowany plik musi być w formacie AVI.'; }
									}
							}

							if($_GET['rodzaj'] == 12) {
									if($dl_rozsz != 'wma') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.wma';
									}else{
											if($_FILES['plik']['type'] != 'audio/x-ms-wma') { $dl_bledy[] = 'Uploadowany plik musi być w formacie WMA.'; }
									}
							}

							if($_GET['rodzaj'] == 13) {
									if( ($dl_rozsz != 'mpg') and ($dl_rozsz != 'mpeg') ) {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.mpg lub *mpeg';
									}else{
											if( ($_FILES['plik']['type'] != 'audio/mpeg') and ($_FILES['plik']['type'] != 'video/mpeg') )  { $dl_bledy[] = 'Uploadowany plik musi być w formacie MPEG.'; }
									}
							}

							if($_GET['rodzaj'] == 14) {
									if($dl_rozsz != 'swf') {
											$dl_bledy[] = 'Uploadowany plik musi mieć rozszerzenie *.swf';
									}else{
											if($_FILES['plik']['type'] != 'application/x-shockwave-flash') { $dl_bledy[] = 'Uploadowany plik musi być w formacie Macromedia Flash.'; }
									}
							}

					}else{
							$dl_bledy[] = 'Nie uploadowano pliku.';
					}
			}

	}
	// miniaturka:
	if(is_uploaded_file($_FILES['miniaturka']['tmp_name'])) {
			if($_FILES['miniaturka']['error'] != 0) { 'Wyst±pił bł±d uploadowania miniaturki'; }
			$dl_minrozsztmp = explode('.', $_FILES['miniaturka']['name']);
			$dl_minrozszile = count($dl_minrozsztmp) - 1;
			$dl_minrozsz = strtolower($dl_minrozsztmp[$dl_minrozszile]);
			if( ($dl_minrozsz != 'jpg') and ($dl_minrozsz != 'jpeg') ) {
					$dl_bledy[] = 'Miniaturka musi mieć rozszerzenie *.jpg lub *.jpeg';
			}else{
					if( ($_FILES['miniaturka']['type'] != 'image/jpeg') and ($_FILES['miniaturka']['type'] != 'image/pjpeg') ) { $dl_bledy[] = 'Miniaturka musi być w formacie JPEG.'; }
			}
	}

	if(empty($_POST['kategoria'])) {
			$dl_bledy[] = 'Nieprawidłowa kategoria.';
	}else{
			$_POST['kategoria'] = intval($_POST['kategoria']);
			$dl_z2 = "select id from kategorie where id = '" . $_POST['kategoria'] . "';";
			$dl_w2 = mysql_query($dl_z2);
			if(mysql_num_rows($dl_w2) == 0) { $dl_bledy[] = 'Nieprawidłowa kategoria'; }
	}

	if(empty($_POST['tytul'])) { $dl_bledy[] = 'Pole tytuł jest puste.'; }
	if(empty($_POST['dodal'])) { $dl_bledy[] = 'Pole dodał jest puste.'; }

	if(isset($dl_bledy)) {
			$dl_ilebledow = count($dl_bledy);
	}else{
			$dl_ilebledow = 0;
	}
	if($dl_ilebledow == 0) {
			if(empty($_POST['opis'])) {
					$_POST['opis'] = '';
			}else{
					$_POST['opis'] = mysql_escape_string($_POST['opis']); $_POST['opis'] = htmlspecialchars($_POST['opis']);
			}

			if(empty($_POST['link'])) {
					$_POST['link'] = '';
			}else{
					$_POST['link'] = mysql_escape_string($_POST['link']); $_POST['link'] = htmlspecialchars($_POST['link']);
			}
			$_POST['tytul'] = mysql_escape_string($_POST['tytul']); $_POST['tytul'] = htmlspecialchars($_POST['tytul']);
			$dl_z3 = "insert into linki(kategoria, rodzaj, tytul, opis, link, wyswietlen, ocena, liczba_glosow, dodano, dodal, dodal_id, status) values('" . $_POST['kategoria'] . "', '" . $_GET['rodzaj'] . "', '" . $_POST['tytul'] . "', '" . $_POST['opis'] . "', '" . $_POST['link'] . "', '0', '0.0', '0', '" . $aktualna_data . " " . $aktualna_godzina . "', '" . $_POST['dodal'] . "', '0', '2');";
			$dl_w3 = mysql_query($dl_z3);
			if($dl_w3 == True) {
					if(is_uploaded_file($_FILES['miniaturka']['tmp_name'])) {
							$dl_minrozmiar = getimagesize($_FILES['miniaturka']['tmp_name']);
							$dl_minplik2 = imagecreatefromjpeg($_FILES['miniaturka']['tmp_name']);
							$dl_minnowawysokosc = 100 * ($dl_minrozmiar[1] / $dl_minrozmiar[0]);
							$dl_minplik3 = imagecreatetruecolor(100, $dl_minnowawysokosc);
							imagecopyresampled($dl_minplik3, $dl_minplik2, 0, 0, 0, 0, 100, $dl_minnowawysokosc, $dl_minrozmiar[0], $dl_minrozmiar[1]);
							$dl_minnazwa = 'miniaturki/' . mysql_insert_id() . '.jpg';
							imagejpeg($dl_minplik3, $dl_minnazwa);
							imagedestroy($dl_minplik3);
					}
					if( ($_GET['rodzaj'] >= 7) and ($_GET['rodzaj'] <= 14) ) {
							switch($_GET['rodzaj']) {
									case 7: $dl_nrozsz = 'jpg'; break;
									case 8: $dl_nrozsz = 'gif'; break;
									case 9: $dl_nrozsz = 'png'; break;
									case 10: $dl_nrozsz = 'mp3'; break;
									case 11: $dl_nrozsz = 'avi'; break;
									case 12: $dl_nrozsz = 'wma'; break;
									case 13: $dl_nrozsz = 'mpg'; break;
									case 14: $dl_nrozsz = 'swf'; break;
									default: $dl_nrozsz = 'tmp';
							}

							$dl_sciezka = 'pliki/' . mysql_insert_id() . '.' . $dl_nrozsz;
							if(move_uploaded_file($_FILES['plik']['tmp_name'], $dl_sciezka)) {
									$smarty->assign('szab_akcja', 6);
							}else{
									$smarty->assign('szab_akcja', 5);
									$dl_blad2 = 'Link został dodany do bazy. Niestety nie udało się uploadować pliku.';
									$smarty->assign('szab_komunikat', $dl_blad2);
							}


					}else{
							$smarty->assign('szab_akcja', 6);
					}
			}elseif($dl_w3 == False) {
					$dl_blad = 'Ogłoszenie nie zostało zapisane. Powód: ' . mysql_error();
					$smarty->assign('szab_akcja', 5);
					$smarty->assign('szab_komunikat', $dl_blad);

			}

	}elseif($dl_ilebledow > 0) {
			$smarty->assign('szab_akcja', 4);
			$smarty->assign('szab_ilebledow', $dl_ilebledow);
			$smarty->assign('szab_bledy', $dl_bledy);
	}


}

$smarty->display('admin_dodaj_link.tpl');
?>

Odnośnik do komentarza
Udostępnij na innych stronach

żeby jeszcze coś z tego zrozumiał. Może znajdzie się jakaś bratnia dusza, która ....,
To może czas zacząć się uczyć PHP a nie szukać bratnich dusz do analizy pokaźnego kodu, lub korzystać z działu zlecenia jak nie dajesz nic w zamian :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

A kogo obchodzi jaka jest Twoja specjalność , trochę przesadzasz myslac ze ktoś zrobi coś za Ciebie :)

Wiedzę i doświadczenie ludzi należy szanować, jakbym Cie poprosił o narysowanie czegoś to z entuzjazmem brałbyś sie do roboty ?

Wydaje mi sie że szukasz bledu nie tam gdzie trzeba :)

Jeżeli apache tworzy plik to i apache jest w stanie je odczytać, no chyba zę trafiłeś na jakiegoś maniaka admina :)

Prawa 600 są wiec wystarczające , no chyba ze user apacha to inny user niż tego Twojego pliku :)

Przygotuj użytkownika hasło i 300 zł i moge naprawić :jezyk1: Obiecuje przeznaczyć zarobione pieniążki na szczytny cel :) Zakup kolejnych domen :)

Odnośnik do komentarza
Udostępnij na innych stronach

Słuchaj cwaniaczku, takie teksty to sobie możesz w D*** wepchać.
Jeszcze bezczelnie wklei 217 linijek kodu! Więc się pytam kto tu jest cwaniaczkiem :)
Po to m.in powstało to forum.
Też dostałeś od Veal w odpowiedzi linka z opisem odpowiedniej funkcji :jezyk1:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności