Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка изображений php/mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Ошибка в коде! Помогите разобраться, пожалуйста!
Tatyanka1313
Отправлено: 24 Февраля, 2011 - 15:13:49
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Необходимо загружать изображения на страницу с названием и описанием. Вот код страницы index.php:

<?php
// Соединяемся с сервером БД
mysql_connect ( 'localhost', 'local', '***' );
mysql_query( 'SET NAMES cp1251' );
mysql_select_db ( 'yarmarka' );

if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
// Проверяем пришел ли файл
if( !empty( $_FILES['image']['name'] ) ) {
// Проверяем, что при загрузке не произошло ошибок
if ( $_FILES['image']['error'] == 0 ) {
// Если файл загружен успешно, то проверяем - графический ли он
if( substr($_FILES['image']['type'], 0, 5)=='image' ) {
// Читаем содержимое файла
$image = file_get_contents( $_FILES['image']['tmp_name'] );
// Экранируем специальные символы в содержимом файла
$image = mysql_escape_string( $image );
$title = mysql_escape_string( $_POST['title'] );
$title = mysql_escape_string( $_POST['opisanie'] );
// Формируем запрос на добавление файла в базу данных
$query="INSERT INTO `images_new` VALUES(NULL, '".$title."', '".$image."', '".$opisanie."',)";
// После чего остается только выполнить данный запрос к базе данных
mysql_query( $query );
}
}
}
}
?>
<html>
<head>
<title>Загрузка изображений</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<h3>Загруженные изображения</h3>
<p>
<?php
$query = "SELECT id, title, opisanie, content FROM images_new WHERE 1 ORDER BY id";
$res = mysql_query( $query );
while( $img = mysql_fetch_array( $res ) ) {

echo 'Название: '.$img['title'].' <br />';
echo 'Описание: '.$img['opisanie'].' <br />';
echo '<img src="image.php?id='.$img['id'].'" alt="'.$img['id'].'" />';
}
?>
</p>
<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">

Наименование: <input type="text" name="title" value="" /><br/>
Описание: <input type="text" name="opisanie" value="" /><br/>
Изображение: <input type="file" name="image" /><br/>
<input type="submit" value="Загрузить" />
</form>
</body>
</html>



А вот код файла image.php:

<?php
// Соединяемся с сервером БД
mysql_connect ( 'localhost', 'local', '***' );
mysql_query( 'SET NAMES cp1251' );
mysql_select_db ( 'yarmarka' );

if ( isset( $_GET['id'] ) ) {
// Здесь $id номер изображения
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT `content`, `title`, `opisanie` FROM `images_new` WHERE `id`=".$id;
// Выполняем запрос и получаем файл

$res = mysql_query($query);
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
header("Content-type: image/*");
// И передаем сам файл

echo $image['content'];
echo $image['title'] ;
echo $image['opisanie'] ;


}
}
}
?>


В результате выводит id вместо изображения, "иероглифы" вместо описания, а строка названия вообще не выводится.

(Отредактировано автором: 25 Февраля, 2011 - 11:56:05)

 
 Top
ALEN
Отправлено: 24 Февраля, 2011 - 15:21:07
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




header("Content-type: image/*") - что за бред?


echo $image['content'];
echo $image['title'] ;
echo $image['opisanie'] ;

и это что за бред при выводе изображения?
(Добавление)
И вообще, что за идиотизм хранить код картинки в БД?
Понимаешь вообще какая нагрузка будет?

(Отредактировано автором: 24 Февраля, 2011 - 15:22:02)

 
 Top
Tatyanka1313
Отправлено: 25 Февраля, 2011 - 08:38:58
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




А ты где предлагаешь хранить? В корневой папке?
 
 Top
ALEN
Отправлено: 25 Февраля, 2011 - 08:41:12
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Tatyanka1313
А кто запрещает в корневой папке создать папку для картинок и установить для нее права на запись?
Можешь даже не спорить, т.к. любой более менее понимающий человек, скажете тебе, что идея самая ужасная у тебя.
 
 Top
Tatyanka1313
Отправлено: 25 Февраля, 2011 - 13:34:19
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




ALEN пишет:
Tatyanka1313
А кто запрещает в корневой папке создать папку для картинок и установить для нее права на запись?
Можешь даже не спорить, т.к. любой более менее понимающий человек, скажете тебе, что идея самая ужасная у тебя.



________
Даже не в этом суть! Мне нужно разобраться с кодом, найти ошибки и исправить их!
БД выдержит, по одной простой причине, не думаю, что там будет вообще картинки кто-то загружать. Главное, чтобы они загружались!
 
 Top
ALEN
Отправлено: 25 Февраля, 2011 - 13:48:52
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




???
 
 Top
Tatyanka1313
Отправлено: 25 Февраля, 2011 - 13:52:43
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




ALEN пишет:
???



____
Дали такое задание, нужно выполнить Недовольство, огорчение вот и все.
PHP я знаю плохо, вот пытаюсь разобраться...
(Добавление)
Нашла ошибку! Выводит все, но картинки идут в один столбец.... к сожалению...

Как уменьшать загружаемые изображения, а при щелчке увеличивать?

(Отредактировано автором: 25 Февраля, 2011 - 15:10:53)

 
 Top
Viper
Отправлено: 25 Февраля, 2011 - 16:10:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Tatyanka1313 пишет:
Как уменьшать загружаемые изображения, а при щелчке увеличивать?

посмотрите пример отсюда http://ua.php.net/manual/en/func...opyresampled.php

Объясню чуть подробно.
Хороший тон это при загрузке изображений создавать их уменьшеную копию и показывать именно её пользователю. А вот когда пользователь нажал на картинку показывать ему оригинал изображения.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
evgenijj
Отправлено: 26 Февраля, 2011 - 00:50:41
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Сначала хотел написать, поскольку тема знакома, а потом понял -- уже не раз писал...
Хранение изображений в базе данных MySQL
Вывод картинок из БД

P.S. Да простят меня админы за ссылку на внешний ресурс...

P.P.S. Автор прочитал мою заметку:

// Выполняем запрос и получаем файл
// Выполняем запрос и получаем файл
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
// И передаем сам файл
// И передаем сам файл

но не сделал нужных выводов... Потому как у меня нет строк

echo $image['content'];
echo $image['title'] ;
echo $image['opisanie'] ;

(Отредактировано автором: 26 Февраля, 2011 - 05:26:52)

 
 Top
Tatyanka1313
Отправлено: 26 Февраля, 2011 - 08:36:15
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Спсибо за последних 2 ответа, буду разбираться!))
 
 Top
ALEN
Отправлено: 26 Февраля, 2011 - 14:23:17
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




evgenijj
А теперь представь какая нагрузка на сервер, если на нем есть галереи даже по 10 картинок (по 10кб) и нагрузка хотя бы в 1000 человек. Один сервер будет работать на один такой сайт. Нормальные админы для разгрузки сервера ставят nginix и для чего? Чтоб такие вот приходили и делали лишние нагрузки на БД.
Я бы от программистов которые такое предлагают, просто бежал бы без оглядки.
 
 Top
Tatyanka1313
Отправлено: 28 Февраля, 2011 - 11:06:31
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




ALEN пишет:
evgenijj
А теперь представь какая нагрузка на сервер, если на нем есть галереи даже по 10 картинок (по 10кб) и нагрузка хотя бы в 1000 человек. Один сервер будет работать на один такой сайт. Нормальные админы для разгрузки сервера ставят nginix и для чего? Чтоб такие вот приходили и делали лишние нагрузки на БД.
Я бы от программистов которые такое предлагают, просто бежал бы без оглядки.


_____________
Я это просто должна реализовать!
Начальник отдела решил хранить все изображения в БД, это не моя прихоть!
 
 Top
ALEN
Отправлено: 28 Февраля, 2011 - 12:30:13
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Tatyanka1313
У тебя какой-то комплекс неполноценности флудить и цитировать мои сообщения
 
 Top
Tatyanka1313
Отправлено: 02 Марта, 2011 - 09:30:03
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Не "у тебя", а у Вас!
 
 Top
ALEN
Отправлено: 02 Марта, 2011 - 12:56:11
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Tatyanka1313
"Вы" - я применяю только к уважаемым мне людям, а не ко всем подряд. А к тем, кто в неадеквате - я никогда на "ВЫ" обращаться не буду!
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB