Upload img

Factor

Registered
Здравейте,ползвам този upload скрипт
Код:
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</head>
<?php
$site_link = ""; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /)
$upload_dir = "upload/"; //Може да се смени с друга папка , която вие си пожелаете
$size_bytes = 9000000; //Големината на файла в bytes
$extlimit = "yas"; //Да има лимит или не (yes/no)
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Разрешени файлове за качване
//Далй папката в която ще се качват файловете съществува или не
if (!is_dir("$upload_dir")) {
die ("Грешка: Папката <b>($upload_dir)</b> не съществува");
}

if(isset($_POST['uploadform'])){
// Когато полето на формата е попалнено тогава ще се качват нещата
//Започване на ъплоад формата.

$file_tmp = $_FILES['filetoupload']['tmp_name'];
$file_name = $_FILES['filetoupload']['name'];
//Взимане на размера на файла
$file_size = $_FILES['filetoupload']['size'];

//Показване когато не е избран файл
if (!is_uploaded_file($file_tmp)){
echo "Грешка : Моля изберете файл за качване!. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit(); //Излиза от това и не прави нищо друго.
}


//Проверява дали големината на файла съвпада с допустимата
if ($file_size > $size_bytes){
echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
//Далй файла е от допустимите
$ext = strrchr($file_name,'.');
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
echo("Грешка : Този тип файл не е позволен за качване. ");
exit();
}


// Далй има такъв файл
if(file_exists($upload_dir.$file_name)){
echo "Името на файла <b>$file_name</b> вече е заето. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
$snimkata = $site_link."/".$upload_dir."".$file_name;
//На мястото на интервала (space) се слага "_".
$file_name = str_replace(' ', '_', $file_name);
//Местене на файла в папката която сме посочили отгоре на скрипта
//move_uploaded_file('filename','destination') С тази функция преместваме файла в избраната от нас диреактория
if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
//Казва на потребителя кога файла е качен и дава лйнк към него
echo "<center>Файла (<a href=\"$upload_dir$file_name\">$file_name</a>) е качен успешно! <br><br>
<img src=\"".$site_link."/".$upload_dir."".$file_name."\" border=\"0\"><br>
<b>phpBB/IPB - снимката</b><br>
<input type=\"text\" value='[url=".$snimkata."][img]".$snimkata."[/img][/url]' size=\"100\"><br>
<b>HTML Оригинален размер с контур</b><br>
<input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=1></a>' size=\"100\"><br>
<b>HTML Оригинален размер без контур</b><br>
<input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=0></a>' size=\"100\"><br>
<b>HTML Текстови линк</b><br>
<input type=\"text\" value='<a href=".$snimkata.">".$snimkata."</a>' size=\"100\"><br>
<b>Директен линк към оригинала</b><br>
<input type=\"text\" value='".$snimkata."' size=\"100\"><br>


»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}else{
//Показва грешка при провал на преместването
echo "Има проблем при преместването на вашия файл. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
//Край на ....
// Ако формата не е попълнена да се покаже това :
}else{
//Началото на else

// Проверяване на сички наши заявки (да не се надвишава големината , и да е един от избраните типове файлове от нас)
for($i=0;$i<count($limitedext);$i++){
if (($i<>count($limitedext)-1))$commas=", ";else $commas="";
list($key,$value)=each($limitedext);
$all_ext .= $value.$commas;
}

//Изложението
echo "<br><h3>Качване на файлове</h3>"
."- Позволени типове : $all_ext</b> <br>"
."- Максимална големина = ". $size_bytes / 1024 ."KB"
."<form method=\"post\" enctype=\"multipart/form-data\" action=\"\">"
."<input type=\"file\" name=\"filetoupload\"><br>"
."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"><br>"
."<input type=\"Submit\" name=\"uploadform\" value=\"Качи\">"
."</form>";
}//Край на else

?>

Когато някой качи изборажение с твърде гоелеми височина и ширина таблиците на сайта бъгват как да го правя ?
 
Можеш просто да зададеш при извеждането височина и ширина на изображението, тоест

Код:
<img src="kartinkata.png" height="100" width="100"/>

Като вече си редактираш стойностите за height и width ..

Така поне, ще си сигурен, че всички изображение ще излизат еднакво големи ..
 
ето ти една функция за преоразмеряване

<?php

$max_width_pic1 = 150;
$max_height_pic1 = 150;

function resize_big($pic)
{
global $max_width_pic1,$max_height_pic1;
list($width1,$height1) = getimagesize($pic);
$ratio1 = $width1 / $height1;

if ($width1 > $max_width_pic1 || $height1 > $max_height_pic1)
{
if ($width1 > $height1)
{
$width1 = $max_width_pic1;
$height1 = $width1 / $ratio1;
}
elseif ($width1 < $height1)
{
$height1 = $max_height_pic1;
$width1 = $height1 * $ratio1;
}
elseif ($width1 == $height1)
{
$width1 = $max_width_pic1;
$height1 = $max_height_pic1;
}
}
$width1 = intval($width1);
$height1 = intval($height1);
return array("width1" => $width1, "height1" => $height1);
}
?>
 

Back
Горе