Upload на изображения

Човекк..... Това ЗНАМ защо се бъгва така! Виж някоя картинка адреса и:
http://www.web-tourist.net/forum/viewtopic.php?t=17288&start=36images/1185377917.jpg
Нещо странно? че е WT??? Видях по рано, че имаш скрипт за От къде си дошъл! Явно от него PHP се бърка махай всичко и остави само галериякта и Качването!
ЕДИТ:// Излез от WT да ти остане само Страница auto:blank дето е БЯЛА на Браузъра и тогава влез, да видиш че бачка! Това е !100% съм сигурен, че е от Скрипта за "От къде си дошъл" дето пише: Ти идваш от .... !
 
Видях по рано, че имаш скрипт за От къде си дошъл??????????

Къде го имам това ?
 
Код:
<label><label></label></label><?php 
$server="http://www.coldplay-bg.com/upload/"; 

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

//Това е функцията, която ще създаде малкото копие от каченото изображение 
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината, 
//но без деформиране на изображението 
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); 

if(!strcmp("gif",$ext)) 
$src_img=imagecreatefromgif($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")) 
{ 
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>Малкото копие е успешно създадено!</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>Upload на изображения</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"> 
<br> 
Разрешени разширения: jpg, jpeg, png 
<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> 
<p><h3>........................</h3></p> 
</div> 
</body> 
</html>

задал съм сървъра ръчно.. $server="http://www.coldplay-bg.com/upload/"; за да не се меша.
 
luudman каза:
Човекк..... Това ЗНАМ защо се бъгва така! Виж някоя картинка адреса и:
http://www.web-tourist.net/forum/viewtopic.php?t=17288&start=36images/1185377917.jpg
Нещо странно? че е WT??? Видях по рано, че имаш скрипт за От къде си дошъл! Явно от него PHP се бърка махай всичко и остави само галериякта и Качването!
ЕДИТ:// Излез от WT да ти остане само Страница auto:blank дето е БЯЛА на Браузъра и тогава влез, да видиш че бачка! Това е !100% съм сигурен, че е от Скрипта за "От къде си дошъл" дето пише: Ти идваш от .... !


Затворих ...и стана работи...Бати случая
 
Имаше го видях го! Даже админа ми се скара, че съм побъркал Уеб Агента му! Явно се бърка нещо УРЛ то! Каза ми че съм влезнал 100 пъти в WT :idea: ! Как така ще влезна 100 пъти в WT??? 100% от скрипта някъде е!
 
Получи се така защото взимаше реферера, аз продължавам да твърдя, че от уолоуда не зависи.
Ето новия вариант, търсете нови бъгове.
<html>
<head>
<style type="text/css">

</style>
</head>
<body>
<center>
<div id='konteiner'>
<?php
$server = $_SERVER['DOCUMENT_ROOT'];
$server2=getenv("HTTP_REFERER");
$server2 = str_replace("/view2.php", "/", $server2);
$ime_papka = "images/";
echo "<u>Име на папката: ".$ime_papka."</u> <hr>";
$dir = opendir( $ime_papka );
while($ime_file = readdir( $dir ))
{
$imga=$_GET['img'];
if(!$_GET['img'])
{
if($ime_file != "." and $ime_file != ".." and !is_dir($ime_file))
{
$lower = strtolower($ime_file);
if(eregi(".jpg",$lower) or eregi(".png",$lower) or eregi(".gif",$lower))
{

list($width, $height, $type, $attr) = @getimagesize($server.$ime_papka.$ime_file);
$shirina="150";
$visochina1=$width/$shirina;
$visochina=$height/$visochina1;



echo "<div class='div'>
<a href='?img=".$ime_file."'><img src=".$ime_papka.$ime_file." width=".$shirina." height=".$visochina." border='0'></a>
<br/>".$ime_file."<br/>W:".$width."<br>H:".$height."</div>";
}
}
}
else
{
if($ime_file != "." and $ime_file != ".." and !is_dir($ime_file))
{
$lower = strtolower($ime_file);
if(eregi(".jpg",$lower) or eregi(".png",$lower) or eregi(".gif",$lower))
{

list($width, $height, $type, $attr) = @getimagesize($ime_papka.$ime_file);
$shirina="150";
$visochina1=$width/$shirina;
$visochina=$height/$visochina1;
if($imga==$ime_file)
{
echo '<div align="center">';
echo "<div class='div'>
<img src=".$ime_papka.$ime_file." width=".$shirina." height=".$visochina." border='0'>
<br/>".$ime_file."<br/>W:".$width."<br>H:".$height."</div>";
echo '<table>';
echo '<tr><td>phpBB/IPB Thumbnail</td><td><input class=input type="text" value="" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>phpBB/IPB Оригинален размер</td><td><input class=input type="text" value="
" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>HTML Thumbnail</td><td><input class=input type="text" value="<a href='.$server2.$ime_papka.''.$ime_file.'><img src='.$server2.$ime_papka.''.$ime_file.' border=0></a>" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>HTML Оригинален размер</td><td><input class=input type="text" value="<img src='.$server2.$ime_papka.''.$ime_file.' border=0>" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>Директен линк към оригинала</td><td><input class=input type="text" value="'.$server2.$ime_papka.''.$ime_file.'" name="'.$ime_file.'" size="100"></td></tr>';
echo '</table>';
echo '</div>';
}
}
}
}
}
closedir( $dir );
?>
</div>
</center>
</body>
</html>
 
Не, тък просто става нещо ...голямо мазало...зареждам си адресчето в браузъра http://www.coldplay-bg.com/upload/view.php - работи.Отварям уплоад формата - работи чукам на линка "Галерия" който води към http://www.coldplay-bg.com/upload/view.php и не бачка....Тъп ли съм ... не знам


EDIT Пак сме в началото.... :D
 
Когато взимаме това Адресче на сайта тогава се обърква!!! 100% Съм сигурен! И то не къде да е, а във view файла!!!
 
Исега какво правим...някакво решение?

EDIT:

Ето и ги и двата файла - готови и работещи .. :D

index.php
Код:
<label><label></label></label><?php
$server=getenv("HTTP_REFERER");

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

//Това е функцията, която ще създаде малкото копие от каченото изображение
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината,
//но без деформиране на изображението
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);

if(!strcmp("gif",$ext))
$src_img=imagecreatefromgif($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"))
{
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)
{
$server = str_replace("/index.php", "/", $server);
echo '<div align="center">';
echo "<h1>Малкото копие е успешно създадено!</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>Upload на изображения</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">
<a href="view.php">Галерия</a>
<br>
Разрешени разширения: jpg, jpeg, png
<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>
<p><h3>.......................</h3></p>
</div>
</body>
</html>

view.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">

</style>
</head>
<body>
<center>
<div id='konteiner'>
<a href='index.php'>Качи снимка</a><br><hr>
<?php
$server="http://www.moqsait.com/upload/";////////////////////ТУКА ПИШЕШ АДРЕСА НА САЙТА ДО ПАПКА images     -     ПРЕДПОЛАГАМ ЧЕ Е ТАКА
$ime_papka = "images/";

echo "<h1>.........</h1> <hr>";
$dir = opendir( $ime_papka );
while($ime_file = readdir( $dir ))
{
$imga=$_GET['img'];
if(!$_GET['img'])
{
if($ime_file != "." and $ime_file != ".." and !is_dir($ime_file))
{
$lower = strtolower($ime_file);
if(eregi(".jpg",$lower) or eregi(".png",$lower) or eregi(".gif",$lower))
{

list($width, $height, $type, $attr) = @getimagesize($ime_papka.$ime_file);

$shirina="150";
$visochina1=$width/$shirina;
$visochina=$height/$visochina1;



echo "<div class='div'>
<a href='?img=".$ime_file."'><img src=".$ime_papka.$ime_file." width=".$shirina." height=".$visochina." border='0'></a>
<br/>".$ime_file."<br/>W:".$width."<br>H:".$height."</div>";
}
}
}
else
{
if($ime_file != "." and $ime_file != ".." and !is_dir($ime_file))
{
$lower = strtolower($ime_file);
if(eregi(".jpg",$lower) or eregi(".png",$lower) or eregi(".gif",$lower))
{

list($width, $height, $type, $attr) = @getimagesize($ime_papka.$ime_file);
$shirina="150";
$visochina1=$width/$shirina;
$visochina=$height/$visochina1;
if($imga==$ime_file)
{
echo '<div align="center">';
echo "<div class='div'>
<img src=".$ime_papka.$ime_file." width=".$shirina." height=".$visochina." border='0'>
<br/>".$ime_file."<br/>W:".$width."<br>H:".$height."</div>";
echo '<table>';
echo '<tr><td>phpBB/IPB Thumbnail</td><td><input class=input type="text" value="[url='.$server.$ime_papka.''.$ime_file.'][img]'.$server.$ime_papka.''.$ime_file.'[/img][/url]" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>phpBB/IPB Оригинален размер</td><td><input class=input type="text" value="[img]'.$server.$ime_papka.''.$ime_file.'[/img]" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>HTML Thumbnail</td><td><input class=input type="text" value="<a href='.$server.$$ime_papka.''.$ime_file.'><img src='.$server.$ime_papka.''.$ime_file.' border=0></a>" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>HTML Оригинален размер</td><td><input class=input type="text" value="<img src='.$server.$ime_papka.''.$ime_file.' border=0>" name="'.$ime_file.'" size="100"></td></tr>';
echo '<tr><td>Директен линк към оригинала</td><td><input class=input type="text" value="'.$server.$ime_papka.''.$ime_file.'" name="'.$ime_file.'" size="100"></td></tr>';
echo '</table>';
echo '</div>';
}
}
}
}
}
closedir( $dir );
?>
</div>
</center>
</body>
</html>
 

Back
Горе