A
Anonymous
Guest
Как мога да разреша на заявката да дава да се качват bmp, png, jpeg, jpg. Това е с воден знак, пробвах като сложих форматите, но ерори отвсякъде.
Код:
Код:
PHP:
<?php
$target = "tmp/"; //Директорията за качване
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
//Това е ограничението ни за размер
if ($_FILES['uploaded']['size'] > 3500000) //3.33786011 мегабайта
{
echo "Вашия файл е твърде голям.<br>";
$ok=0;
exit;
}
//Това е ограничението за вид на файла //
$ext = array('jpg','jpeg');
$extnafaila = end(explode('.',$_FILES['uploaded']['name']));
$extnafaila = strtolower($extnafaila);
if(!in_array($extnafaila,$ext)){
echo "Можете да качвате само файлове jpg и jpeg.";
$ok=0;
exit;
}
//Проверка дали файл със същото име вече не съществува в директорията
$fn = basename( $_FILES['uploaded']['name']);
$name_arr = explode('.',$fn); //
$failime = "./tmp/$name_arr[0].png";
if (file_exists($failime)) {
echo "Файлът $filename съществува.<br>";
$ok=0;
exit;
} else {
echo "";
}
//Тук проверяваме дали по-горе извършените проверки са дали грешки
if ($ok==0)
{
Echo "Не стана";
}
//Ако всичко е наред качваме файла на хоста
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "";
}
else
{
echo "Не стана 2"; //тук показва грешка ако файла не е качен правилно
exit;
}
}
//$fn = basename( $_FILES['uploaded']['name']); след редакция - зададени са по-нагоре
//$name_arr = explode('.',$fn); //махаме разширението jpg на оригиналния файл, изх. картинка е png - след редакция е зададено при проверката за съществуване
$kade = "./tmp/$name_arr[0].png";
$Watermark = imagecreatefrompng("watermark.png"); //тук си задаваде файла които е водния знак, png
$putq = "tmp/".basename( $_FILES['uploaded']['name']). "";
$Image = imagecreatefromjpeg("$putq");
imagecolortransparent($Watermark,imagecolorat($Watermark,0,0));
$PosX = imagesx($Image)-imagesx($Watermark)-5;
$PosY = imagesy($Image)-imagesy($Watermark)-5;
imagecopymerge($Image,$Watermark,$PosX,$PosY,0,0,imagesx($Watermark),imagesy($Watermark),100);
imagepng($Image, $kade);
if (unlink("tmp/$fn")) {
echo "<br />";
} else {
echo "";
}
echo "Готово! След одобрение на картинката, ще получиш доларите си!";
?>