Помощ за 1 Php

FeAr

Registered
" каза:
<?php
$server=getenv("HTTP_REFERER");

//Дефиниране на максимален размер за качената картинка
define ("MAX_SIZE","2097152");
// Дефинирайте широчината и височината на малкото копие
define ("WIDTH","250");
define ("HEIGHT","150");

//Това е функцията, която ще създаде малкото копие от каченото изображение
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината,
//но без деформиране на изображението
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//Получаване на разширението на снимката.
$ext=getExtension($img_name);
//Създава се ново изображение използваики подходяща функция от GD библиотеката
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);


//Получаване на оразмеряването
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// след което ще сметнем ново оразмеряване на малкото копие
// в следващите стъпки ще направим:
// 1. Смятаме съотношението, като заменим старото оразмеряване с ново.
// 2. Ако ширината е по-голяма, тя ще се промени до максимално зададената
// и височината така ще се сметне, че да не се развали оразмеряването.
// 3. В противен случай ще използваме височината на изображението
// като запазим оразмеряването.
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// Създаваме нова картинка с новото оразмеряване
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// оразмерете голямото изображение на новото и създаваме ново
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// Извеждаме създаденото изображение към файла. Сега ще имаме малко копие на файла $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//Разрушава източника на изображението.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// Тази функция чете разширението на файла.
// Тя е използвана да определи дали файла е картинка.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// Тази променлива е използвана като флаг.
//Стойността е инициализирана с 0 (Значи няма открити грешки)
//и ще се промени на 1 ако е намерена грешка. Тогава файла няма да се качи.
$errors=0;
// Проверява предадената информация от формата
if(isset($_POST['Submit']))
{
//Прочита името на файла които потребителят качва
$image=$_FILES['image']['name'];
// Ако не е било празно
if ($image)
{
// получава оригиналното име
$filename = stripslashes($_FILES['image']['name']);

// получаване на разширението на файла на ниско ниво
$extension = getExtension($filename);
$extension = strtolower($extension);
// Ако е с неизвестно разширение, ще изкара съобщение за грешка
//и файла няма да бъде качен.
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
echo '<h1>Не известно разширение!</h1>';
$errors=1;
}
else
{
// Взимане на размера в байтове
// $_FILES[\'image\'][\'tmp_name\'] временното име на файла докато файла се качи на сървъра
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//Задаване на максимален размер в kb и изкарване на грешка ако се надвиши.
if ($sizekb > MAX_SIZE*10240)
{
echo '<h1>Надвишен е лимитът за размер!</h1>';
$errors=1;
}

//за име задаваме времето в което е качен файла в UNIX времеви формат
$image_name=time().'.'.$extension;
//картинката ще се запише с новото име в зададената папка (images папката)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//Ако картинката се качи но не се копира малкото копие да изкара грешка
if (!$copied)
{
echo '<h1>Копирането не е успешно!</h1>';
$errors=1;
}
else
{
// Новият thumbnail ще се намира в папка images/thumbs/
$thumb_name='images/thumbs/thumb_'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//ако няма грешки ще се изведе съобщение "Малкото копие е успешно създаден!"
// и ще се създаде малкото копие
if(isset($_POST['Submit']) && !$errors)
{
echo '<div align="center">';
echo "<h1>Вие успешно качихте своят image</h1>";
echo '<img border=0 src="'.$thumb_name.'">';
echo '<br>';
echo '<br>';
echo '<table>';
echo '<tr><td>phpBB/IPB Thumbnail</td><td><input class=input type="text" value="" name="'.$thumb_name.'" size="100"></td></tr>';
echo '<tr><td>phpBB/IPB Оригинален размер</td><td><input class=input type="text" value="
" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>HTML Thumbnail</td><td><input class=input type="text" value="<a href='.$server.''.$newname.'><img src='.$server.''.$thumb_name.' border=0></a>" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>HTML Оригинален размер</td><td><input class=input type="text" value="<img src='.$server.''.$newname.' border=0>" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>Директен линк към оригинала</td><td><input class=input type="text" value="'.$server.''.$newname.'" name="'.$newname.'" size="100"></td></tr>';
echo '</table>';
echo '</div>';
}

?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>PHP Създаване на малко копие</title>
<style type="text/css">

body
{
background: #F9F9F7 url('img/a1.gif') repeat-x;
font-size: 11px;
font-family: "trebuchet ms", helvetica, sans-serif;
color: #8C8C73;
line-height: 18px;

}

input {
color: #000;
text-decoration: none;
background: #F4F3F3;
border: 1px solid #ADAEAF;
font: normal 9pt verdana, arial;
}
input:hover {
background: #F4F3F3;
border: 1px solid #000;
}
</style>
</head>

<body>
<div align="center">
<font size="2">.::Welcome to X-Zone Images Hosting::.</font><br>
Разрешени разширения: jpg, jpeg, png, gif, bmp, tif, tiff, swf
<br>
<form class=input name="newad" method="post" enctype="multipart/form-data" action="">
<table>
<tr><td><input class=input type="file" name="image" ></td><td><input class=input name="Submit" type="submit" value="Качи"></td></tr>
</table>
</form>
</div>
</body>
</html>

Това е за уплоад на снимки , как да добавя и други формати да са разрешени .gif...
И Така ли е големината която сам нагласил исках да е 2 МБ..
 
в реда:
Код:
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))

си добавяш новите формати ето така:
Код:
($extension != "формата който да може да качва")
 
Parse error: parse error, unexpected '}' in C:\Program Files\xampp\htdocs\upload\index.php on line 130

Дава тази грешка..
 
Код:
<?php 
$server=getenv("HTTP_REFERER"); 

//Дефиниране на максимален размер за качената картинка 
define ("MAX_SIZE","2097152"); 
// Дефинирайте широчината и височината на малкото копие 
define ("WIDTH","250"); 
define ("HEIGHT","150"); 

//Това е функцията, която ще създаде малкото копие от каченото изображение 
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината, 
//но без деформиране на изображението 
function make_thumb($img_name,$filename,$new_w,$new_h) 
{ 
//Получаване на разширението на снимката. 
$ext=getExtension($img_name); 
//Създава се ново изображение използваики подходяща функция от GD библиотеката 
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext)) 
$src_img=imagecreatefromjpeg($img_name); 

if(!strcmp("png",$ext)) 
$src_img=imagecreatefrompng($img_name); 


//Получаване на оразмеряването 
$old_x=imageSX($src_img); 
$old_y=imageSY($src_img); 

// след което ще сметнем ново оразмеряване на малкото копие 
// в следващите стъпки ще направим: 
// 1. Смятаме съотношението, като заменим старото оразмеряване с ново. 
// 2. Ако ширината е по-голяма, тя ще се промени до максимално зададената 
// и височината така ще се сметне, че да не се развали оразмеряването. 
// 3. В противен случай ще използваме височината на изображението 
// като запазим оразмеряването. 
$ratio1=$old_x/$new_w; 
$ratio2=$old_y/$new_h; 
if($ratio1>$ratio2) { 
$thumb_w=$new_w; 
$thumb_h=$old_y/$ratio1; 
} 
else { 
$thumb_h=$new_h; 
$thumb_w=$old_x/$ratio2; 
} 

// Създаваме нова картинка с новото оразмеряване 
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); 

// оразмерете голямото изображение на новото и създаваме ново 
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); 

// Извеждаме създаденото изображение към файла. Сега ще имаме малко копие на файла $filename 
if(!strcmp("png",$ext)) 
imagepng($dst_img,$filename); 
else 
imagejpeg($dst_img,$filename); 

//Разрушава източника на изображението. 
imagedestroy($dst_img); 
imagedestroy($src_img); 
} 

// Тази функция чете разширението на файла. 
// Тя е използвана да определи дали файла е картинка. 
function getExtension($str) { 
$i = strrpos($str,"."); 
if (!$i) { return ""; } 
$l = strlen($str) - $i; 
$ext = substr($str,$i+1,$l); 
return $ext; 
} 

// Тази променлива е използвана като флаг. 
//Стойността е инициализирана с 0 (Значи няма открити грешки) 
//и ще се промени на 1 ако е намерена грешка. Тогава файла няма да се качи. 
$errors=0; 
// Проверява предадената информация от формата 
if(isset($_POST['Submit'])) 
{ 
//Прочита името на файла които потребителят качва 
$image=$_FILES['image']['name']; 
// Ако не е било празно 
if ($image) 
{ 
// получава оригиналното име 
$filename = stripslashes($_FILES['image']['name']); 

// получаване на разширението на файла на ниско ниво 
$extension = getExtension($filename); 
$extension = strtolower($extension); 
// Ако е с неизвестно разширение, ще изкара съобщение за грешка 
//и файла няма да бъде качен. 
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif") && ($extension != "bmp") && ($extension != "swf") && ($extension != "tif") && ($extension != "tiff")) 
{
echo '<h1>Не известно разширение!</h1>'; 
$errors=1; 
} 
else 
{ 
// Взимане на размера в байтове 
// $_FILES[\'image\'][\'tmp_name\'] временното име на файла докато файла се качи на сървъра 
$size=getimagesize($_FILES['image']['tmp_name']); 
$sizekb=filesize($_FILES['image']['tmp_name']); 

//Задаване на максимален размер в kb и изкарване на грешка ако се надвиши. 
if ($sizekb > MAX_SIZE*10240) 
{ 
echo '<h1>Надвишен е лимитът за размер!</h1>'; 
$errors=1; 
} 

//за име задаваме времето в което е качен файла в UNIX времеви формат 
$image_name=time().'.'.$extension; 
//картинката ще се запише с новото име в зададената папка (images папката) 
$newname="images/".$image_name; 
$copied = copy($_FILES['image']['tmp_name'], $newname); 
//Ако картинката се качи но не се копира малкото копие да изкара грешка 
if (!$copied) 
{ 
echo '<h1>Копирането не е успешно!</h1>'; 
$errors=1; 
} 
else 
{ 
// Новият thumbnail ще се намира в папка images/thumbs/ 
$thumb_name='images/thumbs/thumb_'.$image_name; 
// call the function that will create the thumbnail. The function will get as parameters 
//the image name, the thumbnail name and the width and height desired for the thumbnail 
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT); 
}} }} 

//ако няма грешки ще се изведе съобщение "Малкото копие е успешно създаден!" 
// и ще се създаде малкото копие 
if(isset($_POST['Submit']) && !$errors) 
{ 
echo '<div align="center">'; 
echo "<h1>Вие успешно качихте своят image</h1>"; 
echo '<img border=0 src="'.$thumb_name.'">'; 
echo '<br>'; 
echo '<br>'; 
echo '<table>'; 
echo '<tr><td>phpBB/IPB Thumbnail</td><td><input class=input type="text" value="[url='.$server.''.$newname.'][img]'.$server.''.$thumb_name.'[/img][/url]" name="'.$thumb_name.'" size="100"></td></tr>'; 
echo '<tr><td>phpBB/IPB Оригинален размер</td><td><input class=input type="text" value="[img]'.$server.''.$newname.'[/img]" name="'.$newname.'" size="100"></td></tr>'; 
echo '<tr><td>HTML Thumbnail</td><td><input class=input type="text" value="<a href='.$server.''.$newname.'><img src='.$server.''.$thumb_name.' border=0></a>" name="'.$newname.'" size="100"></td></tr>'; 
echo '<tr><td>HTML Оригинален размер</td><td><input class=input type="text" value="<img src='.$server.''.$newname.' border=0>" name="'.$newname.'" size="100"></td></tr>'; 
echo '<tr><td>Директен линк към оригинала</td><td><input class=input type="text" value="'.$server.''.$newname.'" name="'.$newname.'" size="100"></td></tr>'; 
echo '</table>'; 
echo '</div>'; 
} 

?> 


<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>PHP Създаване на малко копие</title> 
<style type="text/css"> 

body 
{ 
background: #F9F9F7 url('img/a1.gif') repeat-x; 
font-size: 11px; 
font-family: "trebuchet ms", helvetica, sans-serif; 
color: #8C8C73; 
line-height: 18px; 

} 

input { 
color: #000; 
text-decoration: none; 
background: #F4F3F3; 
border: 1px solid #ADAEAF; 
font: normal 9pt verdana, arial; 
} 
input:hover { 
background: #F4F3F3; 
border: 1px solid #000; 
} 
</style> 
</head> 

<body> 
<div align="center"> 
<font size="2">.::Welcome to X-Zone Images Hosting::.</font><br> 
Разрешени разширения: jpg, jpeg, png, gif, bmp, tif, tiff, swf 
<br> 
<form class=input name="newad" method="post" enctype="multipart/form-data" action=""> 
<table> 
<tr><td><input class=input type="file" name="image" ></td><td><input class=input name="Submit" type="submit" value="Качи"></td></tr> 
</table> 
</form> 
</div> 
</body> 
</html>
 
Kode каза:
Warning: imagesx(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 26

Warning: imagesy(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 27

Warning: Division by zero in C:\Program Files\xampp\htdocs\upload\index.php on line 44

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\Program Files\xampp\htdocs\upload\index.php on line 48

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 51

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 57

Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 60

Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\Program Files\xampp\htdocs\upload\index.php on line 61

Сега се качва фаила и отгоре показва тоя ерор каде сам го написал.
И не излиза малкото изображения до линковете.

Ето виж:
http://91.148.160.171/upload/
 
Зависи какъв формат си качил. като се прибера ще го едитна и за другите формати да няма проблем
 
Само тези новите формати нестава и показва ерор тези каде си бега няма проблем
 

Back
Горе