Вот файл функций:
<?php
require ('config.php');
function load_image($file)
{
switch($file['type'])
{
//изображение JPEG
case 'jpeg':
$image = $file['name'];
$name = 'img/' . $file['name'] . 'jpg';
$name1 = substr_replace($name, '', 0, 4);
//Проверка не превышает ли объем файла
if($file['size'] > 3145728)
{
die ('Объём информации превышает');
}
else
{
if(copy($file, $name))
{
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('jpg', $image, '0' ");
}
else
{
die ('Не удалось загрузить изображение');
}
}
break;
case 'gif':
$image = $file['name'];
$name = 'img/' . $file['name'] . 'gif';
$name1 = substr_replace($name, '', 0, 4);
if($file['size'] > 3145728)
{
die ('Объём информации превышает');
}
else
{
if(copy($file, $name))
{
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('gif', $image, '0'");
}
else
{
die ('Не удалось загрузить изображение');
}
}
break;
case 'png':
$image = $file['name'];
$name = 'img/' . $file['name'] . 'png';
$name1 = substr_replace($name, '', 0, 4);
if($file['size'] > 3145728)
{
die ('Объём информации превышает');
}
else
{
if(copy($file, $name))
{
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('jpg', $image, '0'");
}
else
{
die ('Не удалось загрузить изображение');
}
}
break;
default:
die('Можно загружать изображения только в формате JPEG, GIF, PHG<br /><a href="index.php">Желаете попробовать ещё раз?</a>');
}
}
function resize_image($file)
{
switch($_FILE['img']['type'])
{
case 'image/jpeg':
$name = 'img/' . $file['name'] . '.jpg';
$name1 = substr_replace($name, '', 0, 4);
//Генерируем thumbnail
$size = getimagesize($name);
$src = imagecreatefromjpeg($name);
//Создаём временную каринку которую будем резать
$dest = imagecreatetruecolor(200, 200);
//Создаём пустую картинку 200*200
imagecopyresampled($dest, $src, 0, 0, 0, 0, 200, 200, $size[0], $size[1]);
imagejpeg($dest, "img_thumbs/$name1", 100);
imagedestroy($src);
imagedestroy($dest);
echo '<a href="index.php">Загрузить ещё одно изображение?</a>';
break;
case 'image/gif':
$name = 'img/' . $file['name'] . '.gif';
$name1 = substr_replace($name, '', 0, 4);
//Генерируем thumbnail
$size = getimagesize($name);
$src = imagecreatefromgif($name);
//Создаём временную каринку которую будем резать
$dest = imagecreatetruecolor(200, 200);
//Создаём пустую картинку 200*200
imagecopyresampled($dest, $src, 0, 0, 0, 0, 200, 200, $size[0], $size[1]);
imagegif($dest, "img_thumbs/$name1", 100);
imagedestroy($src);
imagedestroy($dest);
echo '<a href="index.php">Загрузить ещё одно изображение?</a>';
break;
case 'image/png':
$name = 'img/' . $file['name'] . '.png';
$name1 = substr_replace($name, '', 0, 4);
//Генерируем thumbnail
$size = getimagesize($name);
$src = imagecreatefrompng($name);
//Создаём временную каринку которую будем резать
$dest = imagecreatetruecolor(200, 200);
//Создаём пустую картинку 200*200
imagecopyresampled($dest, $src, 0, 0, 0, 0, 200, 200, $size[0], $size[1]);
imagepng($dest, "img_thumbs/$name1", 0);
imagedestroy($src);
imagedestroy($dest);
echo '<a href="index.php">Загрузить ещё одно изображение?</a>';
break;
}
}
function show()
{
echo '<table><tr>';
$result = mysql_query('SELECT name,type FROM gallery');
$row = mysql_fetch_array($result);
$handle = opendir('img_thumbs');
if($handle != false)
{
while (false !== ($file = readdir($handle)))
{
if($file != "." && $file != "..")
{
$i++;
echo "<td><a href=\"img/" . $row[0] . $row[1] . "\" target=\"_blank\"><img src=\"img_thumbs/" .$file. '"alt="" /></a></td>';
if(($i % 5) == 0)
{
echo '</tr><tr>';
}
}
}
closedir($handle);
}
echo '</tr></table>';
}
function show_image($id)
{
$result = mysql_query("SELECT name,type FROM gallery WHERE id = $id");
$row = mysql_fetch_array($result);
echo "<img src=\"img/" .$row[0]. $row[1] . '"alt="" />';
}
?>
Вот файл index
<?php
require ('config.php');
require ('functions.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="admin" />
<title>Gallery</title>
</head>
<body>
<h1>Gallery</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" name="img"/>
<br />
<input type="submit" value="Загрузить"/>
</form>
<?php
if (isset($_FILES['img']))
{
$file = $_FILES['img']['tmp_name'];
load_image($file);
resize_image($file);
}
?>
<?php
show();
?>
</body>
</html>
Это файл fullscreen:
<?php
require ('config.php');
require ('functions.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="admin" />
<title>Gallery</title>
</head>
<body>
<?php
if (isset($_GET['id']))
{
show_image($id);
}
else
{
header("Location: index.php");
exit();
}
?>
</body>
</html>
Это подключение к базе
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$dbname = 'gallery';
mysql_connect($server, $username, $password);
if (mysql_select_db($dbname) == false)
{
$err_code = mysql_errno();
$err_text = mysql_error();
die("Ошибка MySQL #$err_code: $err_text" .
"<br/>" .
"Не можем подключится к базе");
}
else
{
mysql_select_db($dbname);
}
?>
Это БД
-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 09, 2011 at 01:55 PM
-- Server version: 5.1.40
-- PHP Version: 5.3.3
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `gallery`
--
-- --------------------------------------------------------
--
-- Table structure for table `gallery`
--
CREATE TABLE IF NOT EXISTS `gallery` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`type` varchar(20) NOT NULL,
`view` int(11) DEFAULT NULL,
`name` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
--
-- Dumping data for table `gallery`
--
Вообщем как таковых у меня ошибок не выдаёт но файл в базу и в каталог не сохраняется а выдаёт дефолтное условие долго искал ошибку не нашёл поскажите где ошибся и где что подправить.
Спустя 2 дня, 8 часов, 22 минуты, 27 секунд (12.07.2011 - 17:43) SlavaFr написал(а):
Цитата (Гость_Дмитрий @ 10.07.2011 - 06:20) |
долго искал ошибку не нашёл |
а что ты зделал, чтоб их вообще вывести?
как насчет mysql_error() после mysql_query?
где error_reporting(E_ALL) ?
Спустя 1 день, 5 часов, 42 минуты, 44 секунды (13.07.2011 - 23:26) mzcoding написал(а):
Там ошибки на каждом шагу.. Первое когда вы в индиксе передаете переменную $file которая равна $file = $_FILES['img']['tmp_name']; передается путь к временному файлу и его имя, далее в функции в которую передается эта переменная load_image($file) сверяется $file['type'] = jpg
Откуда там возьмется тип если вы строку передаете??? Передавайте тогда весь массив. Далее тип файла возвращается следующего формата
image/jpg
text/plain и т.д Поэтому и сравнивать нужно case 'image/gif':
А для начала бы вообще не помешало скобки по закрывать, а то что это?
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('gif', $image, '0'");
Да и ьysql_error() повтыкать после каждого запроса
Откуда там возьмется тип если вы строку передаете??? Передавайте тогда весь массив. Далее тип файла возвращается следующего формата
image/jpg
text/plain и т.д Поэтому и сравнивать нужно case 'image/gif':
А для начала бы вообще не помешало скобки по закрывать, а то что это?
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('gif', $image, '0'");
Да и ьysql_error() повтыкать после каждого запроса