metal_head
Registered
Правя система за качване на аватар. Почти всичко е ОК, с изключение на едно нещо. Погледнете кода долу внимателно:
Този код проверява дали има зададена пътека към файл за аватар и ако има, проверява дали аватара е в нормите (размер а проверява) и ако е, го качва, ако не е, не го качва.
Проблема е, че това нещо горе ми показва
ima avatar avatara e v normata avatara se ka4va
ДОРИ когато не съм задал пътека към аватара и така $av_targetpath става "images/avatars"; Въпреки, че мога да направя проверка и да го нулирам ако $av_targetpath е равен на това, тук нещо не е наред и искам да попитам защо след като не съм задал изображение с формата, това нещо се изпълнява.
Другото, което е:
Ако кача файл avatar.jpg 2 пъти, втория път ще го качи като avatar_1.jpg, само че се досещате, че ако го кача 3-ти път, ще го качи също като avatar_1.jpg. Как мога да взема например числото файлове с име "avatar", които вече има на сървъра. Идеята е да прибавя +1 към броя на файловете и полученото число да го добавя в наставката.
Код:
if(isset($_FILES['avatarlink'])){
$av_targetpath = "images/avatars/";
echo " ima avatar ";
if($_FILES['avatarlink']['size'] > 245760) echo"Аватарът е прекалено голям";
else{
echo " avatara e v normata ";
$av_targetpath = $av_targetpath.basename($_FILES['avatarlink']['name']);
if(file_exists($av_targetpath)){
$av_targetpath = preg_replace('/(\.gif|\.jpg|\.png|\.bmp)/', '_1$0', $av_targetpath);
}
echo" avatara se ka4va ";
move_uploaded_file($_FILES['avatarlink']['tmp_name'], $av_targetpath);
}
}
Проблема е, че това нещо горе ми показва
ima avatar avatara e v normata avatara se ka4va
ДОРИ когато не съм задал пътека към аватара и така $av_targetpath става "images/avatars"; Въпреки, че мога да направя проверка и да го нулирам ако $av_targetpath е равен на това, тук нещо не е наред и искам да попитам защо след като не съм задал изображение с формата, това нещо се изпълнява.
Другото, което е:
Код:
f(file_exists($av_targetpath)){
$av_targetpath = preg_replace('/(\.gif|\.jpg|\.png|\.bmp)/', '_1$0', $av_targetpath);
}
Ако кача файл avatar.jpg 2 пъти, втория път ще го качи като avatar_1.jpg, само че се досещате, че ако го кача 3-ти път, ще го качи също като avatar_1.jpg. Как мога да взема например числото файлове с име "avatar", които вече има на сървъра. Идеята е да прибавя +1 към броя на файловете и полученото число да го добавя в наставката.