Mam plik user_module.php:
<?php
$katalog_fotki = 'fotki/';
switch($_GET['action'])
{
case 'edit_profile':
if(isset($_SESSION['user'])) {
if(isset($_POST['password']) && isset($_POST['password_repeat'])) {
if(!empty($_POST['password']) && !empty($_POST['password_repeat'])) {
if($_POST['password'] == $_POST['password_repeat'])
{
change_password($_POST['password']);
} else
{
echo '<b>Podano dwa rozne hasla</b><p>'; }
} else
{
echo '<b>Jedno z pol z haslem nie zostalo wypelnione!!</b><p>'; }
}
if(isset($_POST['user_email']) || isset($_POST['www'])) {
update_profil($_POST['user_email'], $_POST['www']);
}
$_GET['avatar'] = ( empty( $_GET['avatar'] ) ) ?
null : $_GET['avatar']; switch($_GET['avatar'])
{
case 'add':
add_avatar();
break;
case 'delete':
delete_avatar();
break;
}
edytuj_profil_form($_SESSION['user']);
edytuj_haslo_form();
newsletter_form();
} else
{
echo '<b>Nie masz uprawnien!!</b>'; }
break;
}
?>
oraz funkcje uploadujaca pliki:
<?php
function add_avatar()
{
if(!file_exists($katalog_fotki . $_FILES['obraz']['name'])) {
$ext = array('jpg', 'jpeg', 'png', 'bmp'); // dozwolone rozszerzenia foreach($_FILES as $nazwa => $dane)
{
$rozsz = explode('.', $dane['name']); {
// plik akceptowalny, robisz z nim co chcesz
move_uploaded_file($_FILES['obraz']['tmp_name'],$katalog_fotki . $_FILES['obraz']['name']); }
}
{
zmien_wielkosc_obrazka($_FILES['obraz']['name']);
unlink($katalog_fotki . $_FILES['obraz']['name']); mysql_query("UPDATE `users` set avatar='$_SESSION[id_user].jpg' WHERE id_user='$_SESSION[id_user]'"); header("Location: index.php?module=user&action=edit_profile"); } else
{
}
} else
{
echo 'Plik juz istnieje!'; }
}
?>
i funkcje zmniejszajaca szerokosc i wyskokosc wgranego pliku:
<?php
function zmien_wielkosc_obrazka($file)
{
$obrazek = $katalog_fotki . $file;
$max_szerokosc = 60;
$max_wysokosc = 40;
$szerokosc = $rozmiar[0];
$wysokosc = $rozmiar[1];
$wspolczynnik_x = $max_szerokosc / $szerokosc;
$wspolczynnik_y = $max_wysokosc / $wysokosc;
if ( ($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc) )
{
$nowa_szerokosc = $szerokosc;
$nowa_wysokosc = $wysokosc;
} else
if (($wspolczynnik_x * $wysokosc) < $max_wysokosc)
{
$nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc); $nowa_szerokosc = $max_szerokosc;
}else
{
$nowa_szerokosc = ceil($wspolczynnik_y * $szerokosc); $nowa_wysokosc = $max_wysokosc;
}
$zrd = ImageCreateFromJpeg($obrazek);
$prz = ImageCreate($nowa_szerokosc,$nowa_wysokosc);
ImageCopyResized($prz, $zrd, 0, 0, 0, 0,
$nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc);
//header('Content-type: Image/jpeg');
ImageJpeg($prz, $katalog_fotki . $_SESSION['id_user'].'.jpg', -1);
ImageDestroy($zrd);
ImageDestroy($prz);
}
?>
I w pewnym miejscu na stronie powiedzmy mam to:
<?php
echo '<b>Aktualnie ustawiony avatar:</b><br /><a href="?module=user&action=edit_profile&avatar=delete"><br /><img src="./'.$katalog_fotki . $_SESSION['id_user'].'.jpg" border="0" alt="Usuń" align="middle"></a> [ Kliknij w obrazek aby usunac ]<p>'; ?>
I mam problem, dodam sobie avatara, wszystko sie ok zaladuje, ale kiedy go usune i sproboje dodac inny-nowy avatar, to nawet jesli wgra mi ten nowy plik bez zadnych zastrzezen to i tak nadal bedzie wyswietlac mi plik ktory w rzeczywsitosci juz podmienilem. Nie wiem czy on jest trzymany w cache albo cos?? Poniewaz gdy odswieze strone dopiero wtedy wyswietla mi dobry avatar z tym ze przez header nie daje rady, musze normalnie kliknac w odsiwezanie strony w przegladarce
poooomocy!!!
Ten post edytował snipe 25.10.2005, 14:09:36