Провет на всички 
след като си направих галерия за уеб сайта ми възникна един малък проблем с imagesx и imagesy за bmp файловете ми.
Имам предвид следното:
Когато тръгна да качвам bmp файл ми излиза следната грешка
какво ли непробвах и пак нестава и нестава излиза ми тази грешка независимо, че файла е 700Kb и е 700 х 400 примерно. При всички други формати jpg,gif и png няма проблеми само с bmp
отчаях се адски много и реших да пиша тук с надеждата някой да помогне.
Ето го и файла process.php:
след като си направих галерия за уеб сайта ми възникна един малък проблем с imagesx и imagesy за bmp файловете ми.
Имам предвид следното:
Когато тръгна да качвам bmp файл ми излиза следната грешка
Код:
Warning: imagesx(): supplied argument is not a valid Image resource in /home/image/public_html/process.php on line 185
Warning: imagesy(): supplied argument is not a valid Image resource in /home/image/public_html/process.php on line 186
Съжалявам! Изображение "10.bmp" е твърде малко или твърде голямо.
какво ли непробвах и пак нестава и нестава излиза ми тази грешка независимо, че файла е 700Kb и е 700 х 400 примерно. При всички други формати jpg,gif и png няма проблеми само с bmp
отчаях се адски много и реших да пиша тук с надеждата някой да помогне.
Ето го и файла process.php:
Код:
<?php
session_start();
$session = false;
include("db-info.php");
$link = mysql_connect($server, $user, $pass);
if(!mysql_select_db($database)) die(mysql_error());
include("loadsettings.inc.php");
$type = "public";
if (isset($_SESSION["imagehost-user"]))
{
$session = true;
$username = htmlspecialchars($_SESSION["imagehost-user"]);
$password = htmlspecialchars($_SESSION["imagehost-pass"]);
$q = "SELECT id FROM `members` WHERE (username = '$username') and (password = '$password')";
if(!($result_set = mysql_query($q))) die(mysql_error());
$number = mysql_num_rows($result_set);
if (!$number) {
session_destroy();
$session = false;
}else {
$row = mysql_fetch_row($result_set);
$loggedId = $row[0];
if (isset($_POST["tags1"])) {
$opt = htmlspecialchars($_POST['opt']);
if ($opt == "gallery") {
$galleryid = htmlspecialchars($_POST["galleryid"]);
$result = mysql_query("SELECT type FROM `galleries` WHERE id = '$galleryid'");
$n = mysql_num_rows($result);
if (!$n) die();
$row = mysql_fetch_array($result);
$type = $row['type'];
}
else {
if (isset($_POST["private"]))
$type = "private";
else
$type = "public";
}
}
}
}
else
$session = false;
//*************************************************************************************************
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<?php include("header.php"); ?>
<center>
<div class="content-container">
<?php
function findExtension ($filename)
{
$filename = strtolower($filename) ;
$exts = split("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
function imagecreatefromunknown($path) {
$ext = findExtension($path);
switch ($ext) {
case "jpg":
$img = imagecreatefromjpeg($path);
break;
case "gif":
$img = imagecreatefromgif($path);
break;
case "png":
$img = imagecreatefrompng($path);
break;
}
return $img;
}
$max = 5;
$total = 0;
if (isset($_POST["tags1"])) {
$date = date("d-m-y");
$lastaccess = date("y-m-d");
$ip= secures($_SERVER['REMOTE_ADDR']);
//CHECK IF THE IP OF THE PERSON IS BLOCKED OR NOT
$result = mysql_query("SELECT id FROM `blockedip` WHERE ip = '$ip'");
$number = mysql_num_rows($result);
if ($number) die("<center>Съжалявам! Бил си много непослушен и IP адреса ти е блокиран за качване на изображения. <br><br><a href='index.php'>върни се обрадно.</a></center>");
for ($i=1; $i < ($max+1); $i++)
{
if (trim($_FILES["image" . $i]["name"]) != "") {
$total = $total + 1;
if ( (trim($_POST["tags" . $i]) != "") ) {
$tags = secure(trim($_POST["tags" . $i]));
$name = "image" . $i;
//CHECK IF VALID IMAGE TYPE
if (( ($_FILES[$name]["type"] == "image/gif")
|| ($_FILES[$name]["type"] == "image/jpeg")
|| ($_FILES[$name]["type"] == "image/pjpeg")
|| ($_FILES[$name]["type"] == "image/x-png")
|| ($_FILES[$name]["type"] == "image/bmp")
|| ($_FILES[$name]["type"] == "image/png")))
{
$size = intval(($_FILES[$name]["size"] / 1024) / 1024);
if ($session == true)
$limit = $maxsizemember;
else
$limit = $maxsizeguest;
if ($size > $limit)
die ("<center>Съжалявам! Размерът на изображението, надхвърля $limit Mb максимална граница.</center>");
if ($_FILES[$name]["error"] > 0) {
die("Error: " . $_FILES[$name]["error"]);
}
else {
$n = secures($_FILES[$name]["name"]);
$rndName = md5($n . date("d-m-y") . time()) . "." . findExtension($n);
$uploadPath = "pictures/" . $rndName;
$tempPath = secures($_FILES[$name]["tmp_name"]);
move_uploaded_file($tempPath, $uploadPath);
}
}
else
die("<center>Съжалявам! \"{$_FILES[$name]["name"]}\" е некъв непознат индивид за мен.</center>");
$imagePath = $uploadPath;
//********************************************************************************************************
$img = imagecreatefromunknown($imagePath);
$mainWidth = imagesx($img);
$mainHeight = imagesy($img);
if ($mainWidth > 99)
{
$a = ($mainWidth >= $mainHeight) ? $mainWidth : $mainHeight;
$div = $a / 140;
$thumbWidth = intval($mainWidth / $div);
$thumbHeight = intval($mainHeight / $div);
$myThumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
imagecopyresampled($myThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $mainWidth, $mainHeight);
$thumbPath = "thumbnails/" . basename($imagePath);
imagejpeg($myThumb, $thumbPath);
$details = intval(filesize($imagePath) / 1024) . " kb (" . $mainWidth . " x " . $mainHeight . ")" ;
$id = md5($thumbPath . date("d-m-y") . time());
//#########################################################################################################
if ($session == false)
$q = "INSERT INTO `images`(id, image, thumb, tags, details, date, access, type, ip)
VALUES('$id', '$imagePath', '$thumbPath', '$tags', '$details', '$date', '$lastaccess', 'public', '$ip')";
else
{
if ($opt == "gallery")
$q = "INSERT INTO `images`(id, galleryid, image, thumb, tags, details, date, access, type, ip)
VALUES('$id', '$galleryid', '$imagePath', '$thumbPath', '$tags', '$details', '$date', '$lastaccess', 'gallery', '$ip')";
else
$q = "INSERT INTO `images`(id, userid, image, thumb, tags, details, date, access, type, ip)
VALUES('$id', '$loggedId', '$imagePath', '$thumbPath', '$tags', '$details', '$date', '$lastaccess', 'member-{$type}', '$ip')";
}
if(!($result_set = mysql_query($q))) die(mysql_error());
echo "<center>";
echo "<font size=3>качихте <a href=\"show-image.php?id=$id\">$tags</a> ($details)</font><br><br><br>";
echo "<div class='alt1Active' id='f71' align='center'><div id='tools'><div id='fullsize'><a href='{$imagePath}' title='{$row['tags']}' target='_blank'>пълен размер</a></div>";
echo "<div id='sharethis'><a id='sharing'>сподели</a><a id='sharing-close' style='display: none;'>сподели</a></div></div>";
echo "<div id='imagen'><img src='thumb.php?id=$id' border=1></div>";
echo "<div id='share'><br><br>
<div id='mostrar_mas_enlaceview'>
<div align='left'><h2 id='mev'>Миникартинка + <u>публична</u> връзка</h2></div>
<div class='ctninput'>
<div class='codex'>HTML:</div><div class='inputshare'>
<input tabindex='1' value='<a href="{$website}/show-image.php?id=$id"><img src="{$website}/{$thumbPath}" border="0"></a>' onclick='this.focus();this.select();'>
</div>
</div>
<div class='ctninput'>
<div class='codex'>BBCode (за форуми):</div><div class='inputshare'>
<input tabindex='2' value='[url={$website}/show-image.php?id={$id}][img]{$website}/{$thumbPath}[/img][/url]' onclick='this.focus();this.select();'>
</div>
</div>
</div>
<div id='mostrar_directa'>
<div align='left'><h2 id='md'>Покажи пряко изображението</h2></div>
<div class='ctninput'>
<div class='codex'>Връзка:</div>
<div class='inputshare'><input tabindex='5' value='{$website}/show-image.php?id=$id' onclick='this.focus();this.select();'></div>
</div>
</div>
<div class='ctninput'>
<div class='codex'>Преглед:</div>
<div class='inputshare'><input tabindex='3' value='{$website}/{$imagePath}' onclick='this.focus();this.select();'></div>
</div>
<div class='ctninput'>
<div class='codex'>BBCode (за форуми):</div>
<div class='inputshare'><input tabindex='4' value='[img]{$website}/{$imagePath}[/img]' onclick='this.focus();this.select();'></div>
</div>
<div id='mostrar_social'>
<div align='left'><h2 id='mes'>Публикувай това изображение</h2></div>
<div class='ctninput-social'>
<div class='codex'>Публикувай в:</div>
<a href='http://del.icio.us/post?url={$website}/show-image.php?id=$id' id='delicious' target='_blank'></a>
<a href='http://www.facebook.com/share.php?u={$website}/show-image.php?id=$id' id='facebook' target='_blank'></a>
<a href='http://www.google.com/bookmarks/mark?op=edit&bkmk={$website}/show-image.php?id=$id' id='google' target='_blank'></a>
<a href='http://www.tumblr.com/share?v=3&u={$website}/show-image.php?id=$id' id='tumblr' target='_blank'></a>
<a href='http://twitter.com/home?status=viendo%20http://tinyurl.com/ylepn2l' id='twitter' target='_blank'></a>
<a href='http://vi.sualize.us/post/?popup=1&address={$website}/show-image.php?id=$id&referenceURL={$website}' id='visualizeus' target='_blank'></a>
<div id='quecosa'>
<span id='d-delicious' style='display: none;'>del.icio.us</span>
<span id='d-facebook' style='display: none;'>facebook</span>
<span id='d-google' style='display: none;'>Google Bookmarks</span>
<span id='d-tumblr' style='display: none;'>tumblr</span>
<span id='d-twitter' style='display: none;'>Twitt this image</span>
<span id='d-visualizeus' style='display: none;'>vi.sualize.us</span>
</div>
</div>
</div>
</div>";
echo "<br></div>";
}
else
echo "<center>Съжалявам! Изображение \"{$_FILES["image" . $i]["name"]}\" е твърде малко или твърде голямо.</center>";
}
else
echo "<center>Вие не сте въвели описание на изображението \"{$_FILES["image" . $i]["name"]}\" </center>";
}
}
}
if ($total == 0)
echo "<center>Съжалявам! Трябва да качите поне едно изображение.</center>";
?>
</div><br /><center>
<?php include("footer.php"); ?></center>
</div>
</center>
</body>
</html>