Mam problem z dodaniem avataru(zdjecia) ze swojego dysku.Mam na razie wybór avataru z podanych avatarów. Każdy ma przypisany numer który bierze później z bazy i wyswietla w profilu. Lecz tutaj jest inaczej. Musi zmienić nazwę dodawanego zdjecia na liczbe od 60 co dodanie w bazie dodaje +1 (czyli 61,62,63) żeby numerki się w folderze nie powtarzały. Nie potrafie tego zrobic oto kody:
<?
$sel = mysql_query("SELECT user FROM user WHERE user='$user'") or
die (mysql_error()); // pobieram z tabeli dane dotyczace uzytkownika o danym loginie. Można pobrać to z sesji jeśli je się wczesniej ustawi $user_id = $s['id']; // przypisuje id usera.
$data = date('Y.m.d H:i'); // Aktualna data $plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
if(isset($plik_tmp) && isset($plik_nazwa) && ($plik_rozmiar)){ //sprawdzamy czy wszystko jest ok z plikiem $sp = explode(".",$plik_nazwa); // funkcja explode rozdziela string wedlug jakiegoś kryterium. W tym wypadku według kropki if($sp[1] == "jpg") { // sprawdzamy jakie rozszerzenie ma plik który wysyłamy
$up = move_uploaded_file($_FILES['plik']['tmp_name'],'images/avatars/'.$_FILES['plik']['name']); // przenosimy plik do katalogu avatar if ($up) // jeśli przenoszenie wykonało się poprawnie
{
$sciezka_do_pliku = "images/avatars/$plik_nazwa"; // ustawiamy ścieżke pliku
// Sprawdzamy jakie rozszerzenie miał plik i wykonujemy dla niego nowy obrazek;
elseif($sp[1] == "jpg") {
$img = imagecreatefromjpeg($sciezka_do_pliku);
}
else {echo 'Możesz dodać avatar o rozszerzeniu jpg. Inne są nieobsługiwane.';}
$a = imagesx($img); // pobieramy szerokość i wysokość
$b = imagesy($img);
if($a > $b){ //Zmieniamy wielkość obrazka w tym wypadku szerokość musi być 150 a wysokość proporcjonalna.
$na = 49;
$nb = 60 * ($b / $a);
}elseif($a < $b){
$na = 49 * ($a / $b);
$nb = 60;
}else{
$na = 49;
$nb = 60;
}
$new_img = imagecreatetruecolor($na, $nb); // tworzymy nowy obrazek o danych wymiarach
$cz = ImageColorAllocate($new_img,8 ,24 ,40); // tworzenie koloru. atrybuty to kolejno nowy obrazek i 3 kolory RGB - Red Green Blue
ImageFill($new_img,1,1,$cz); // tworzenie tła obrazka
imagecopyresampled($new_img, $img, 0, 0, 0, 0, $na, $nb, $a, $b);
unlink('images/avatars/'.$user_id.'.jpg'); // usuwamy poprzedni plik avataru użytkownika @imagejpeg($new_img, "images/avatars/".$user_id.".jpg", 100); // cyfra 9 oznacza jakosc miniaturki, osobiscie polecam wartosc 100
$sciezka_do_pliku2 = "images/avatars/$user_id.jpg"; // ustawiamy ścieżke nowego pliku która będzie nam potrzebna do poźniejszej aktualizacji profilu użytkownika w bazie.
}}}
?>
<td>Ścieżka do pliku:
</td> <td><form enctype="multipart/form-data" method="POST" target="avatar.php"><input name="plik" type="file" /><input type="submit" value="Wyślij"></form></td> <td class="podpowiedz">Wrzuć swój avatar z dysku.
</td>
<?php
include "baza.php";
$title = 'Registration';
include "gora.php";
function rejestruj($user, $haslo, $email, $imie, $miasto, $skype, $opis, $plec, $data, $panstwo, $avatar) {
if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['haslo2']) || !isSet($_POST['email']) || !isSet($_POST['email2'])) { return ALL;
} else if($_POST['haslo'] !== $_POST['haslo2']) {
return HASLA;
} else if($_POST['email'] !== $_POST['email2']) {
return EMAILE;
} else if(!isSet($_POST['regulamin'])) { return REGULAMIN;
} else if(!isset($_POST['panstwo'])) { return PANSTWO;
} else if(!isset($_POST['avatar'])) { return AVATAR;
}
$dlugoscUser = strlen($_POST['user']); $dlugoscHaslo = strlen($_POST['haslo']); $dlugoscEmail = strlen($_POST['email']);
if($dlugoscUser < 3) {
return NICK;
} else if($dlugoscHaslo < 6) {
return HASLO;
} else if($dlugoscEmail < 5) {
return EMAIL;
} else if(strpos($_POST['email'], '@') === false) { return PEMAIL;
}
include "baza.php";
$query = "SELECT COUNT(*) FROM user WHERE user='$user' ";
echo('An error has occurred: Instruction SELECT...'); }
echo('An error has occurred: Incorrect query results...'); } else {
if($row[0] > 0) {
return NAZWA_ZAJETA;
}
}
$query = "SELECT COUNT(*) FROM user WHERE email='$email' ";
echo('An error has occurred: Instruction SELECT...'); }
echo('An error has occurred: Incorrect query results...'); } else {
if($row[0] > 0) {
return EMAIL_ZAJETY;
}
}
mysql_query("INSERT INTO user SET user='$user', haslo='$haslo', email='$email', imie='$imie', miasto='$miasto', skype='$skype', opis='$opis', plec='$plec', data_rej='$data', panstwo='$panstwo', avatar=$avatar, ip='".$_SERVER["REMOTE_ADDR"]."', kasa=5500, refleks=1, przyspieszenie=1, hamowanie=1, skrecanie=1, zmeczeniemax=100, wychodzenie=1, sledzenie=1 "); mysql_query("UPDATE user SET ranking='".$ranking[0]."' WHERE user='$user'");
if($count <> 1) {
echo "Registration Failed!"; } else {
return OK;
}
}
if(isSet($_SESSION['street-race'])) { echo "You can not register a new user because you are logged. First <a href='wyloguj.php'>Logout</a>"; } else if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['haslo2']) || !isSet($_POST['email']) || !isSet($_POST['email2'])) { echo "To register, go <a href='rejestracja.php'>here</a>"; } else {
if(isSet($_POST['imie'])) { } else {
$imie = '';
}
if(isSet($_POST['miasto'])) { } else {
$miasto = '';
}
if(isSet($_POST['skype'])) { } else {
$skype = '';
}
if(isSet($_POST['opis'])) { } else {
$opis = '';
}
if(isSet($_POST['plec'])) { } else {
$plec = '';
}
if(isset($_POST['panstwo'])) { } else {
$panstwo = '';
}
if(isset($_POST['avatar'])) { } else {
$avatar = 1;
}
$val = rejestruj($user, $haslo, $email, $imie, $miasto, $skype, $opis, $plec, $data, $panstwo, $avatar);
if($val == OK) {
echo("You have been correctly registered. You can now log in using your username and password."); } else if($val == ALL) {
echo("Fill in all required fields! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == HASLA) {
echo("Enter the correct two of the same password! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == EMAILE) {
echo("Enter the correct two of the same email address! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == HASLO) {
echo("Your password must be at least 6 characters! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == EMAIL) {
echo("Your email address is incorrect! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == PEMAIL) {
echo("Please enter a valid email address. <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == NAZWA_ZAJETA) {
echo("This username is already taken! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == EMAIL_ZAJETY) {
echo("Someone has already use this email address! <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == PANSTWO) {
echo("Incorrect country. <br /><a href='java script:history.go(-1)'>back</a><br />"); } else if($val == AVATAR) {
echo("Wrong avatar number. <br /><a href='java script:history.go(-1)'>back</a><br />"); } else {
echo("Server Error. Registration failed."); }
}
include "dol.php";
?>