[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Галлерея на php.Прошу помощи.
Гость_Дмитрий
Я создал галлерею на php ну хотя не совсем создал просто решил доработать подключить базы данных и всё такое но сталкнулся с ошибками вот пример кода помогите немогу разобрать сам..

Вот файл функций:

<?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 blink.gif

Откуда там возьмется тип если вы строку передаете??? Передавайте тогда весь массив. Далее тип файла возвращается следующего формата
image/jpg
text/plain и т.д Поэтому и сравнивать нужно case 'image/gif':
А для начала бы вообще не помешало скобки по закрывать, а то что это?
mysql_query("INSERT INTO gallery (type, name, view) VALUES ('gif', $image, '0'");
Да и ьysql_error() повтыкать после каждого запроса
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.