Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сохранить и вывести фотографию из базы?

Сообщения:  [1-10]   [11-15] 

 
 автор: Mefisto84   (26.03.2006 в 19:01)   письмо автору
 
   для: cheops   (26.03.2006 в 14:35)
 

cheops большое вам спасибо за помощь, все работает!
Еще раз спасибо!

   
 
 автор: cheops   (26.03.2006 в 14:35)   письмо автору
 
   для: Mefisto84   (26.03.2006 в 13:05)
 

Вам в предыдущий вариант необходимо добавить SQL-запрос
<?php
$sqltext
="INSERT INTO CAR (photo) VALUES ('photo/".$_FILES["filename"]["name"]."')";
mysql_query($sqltextq);
?>

   
 
 автор: Mefisto84   (26.03.2006 в 13:05)   письмо автору
 
   для: cheops   (25.03.2006 в 21:58)
 

Ну до этого я пытался делать это так(это другая версия сценария в который отправлялись данные из формы) :
<?
//Проверка запрета прямого обращения к файлу модуля
if (!eregi("modules.php", $_SERVER['PHP_SELF']))
{ die ("You can't access this file directly..."); }
//Инклюдим файл mainfile.php
require_once("mainfile.php");
//Определяем переменную, содержащую имя модуля, ее можно использовать для построения внутренних ссылок
$module_name = basename(dirname(__FILE__));
//Определяем языковые данные
get_lang($module_name);
//Переменная $index = 1 определяет наличие правых блоков, без нее их не будет.
$index = 0;
//Вставляем шапку сайта и открываем таблицу для вывода данных.
include("header.php");
OpenTable();
echo "<center><h3>В базу данных добавлена новая фотография! </h3></center><br>";

if(!mysql_connect("localhost","root","")){
echo "Невозможно подключиться к серверу! <br>";
echo mysql_error();
exit;
}

if(!mysql_select_db("auto")){
echo "Невозможно подключиться к базе данных! <br>";
echo mysql_error();
exit;
}
define ("DBName","auto");
define ("HostName","localhost");
define ("UserName","root");
define ("Password","");
if(!mysql_connect(HostName,UserName,Password))
{echo"Невозможно подключиться к базе ".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
$sqltext="INSERT INTO CAR (photo) VALUES ('$photo')";
mysql_query($sqltext);
mysql_query($sqltextq);
//Закрываем таблицу и вставляем нижнюю часть сайта.
CloseTable();
include("footer.php");
?>

То есть в форме имя переменной было photo а не filename. Вот таким способом добавлялся адрес а базу очень странный, tmpphp.tmp что то вроде этого. А потом уже по вашему совету я взял другой сценарий. Что нужно изменить в этом сценарии что бы добавлялся нормальный путь? База называется auto, таблица car, в таблице текстовое поле photo. Вот это поле я и хочу добавлять адрес.

   
 
 автор: cheops   (25.03.2006 в 21:58)   письмо автору
 
   для: Mefisto84   (25.03.2006 в 15:10)
 

Хм... а у вас вообще нет SQL-запросов в коде - вы какую нибудь запись вставляете в таблицу при загрузке и если да, то какая структура таблицы?

   
 
 автор: Mefisto84   (25.03.2006 в 15:10)   письмо автору
 
   для: cheops   (24.03.2006 в 19:57)
 

Вот сценарий с помощью которого выбирается фотография:
<?php
###########################################
#Generated by module for PHP Nuke 6.5-7.5 #
# www.shkurki.ru #
###########################################
//Проверка запрета прямого обращения к файлу модуля
if (!eregi("modules.php", $_SERVER['PHP_SELF']))
{ die ("You can't access this file directly..."); }
//Инклюдим файл mainfile.php
require_once("mainfile.php");
//Определяем переменную, содержащую имя модуля, ее можно использовать для построения внутренних ссылок
$module_name = basename(dirname(__FILE__));
//Определяем языковые данные
get_lang($module_name);
//Переменная $index = 1 определяет наличие правых блоков, без нее их не будет.
$index = 1;
//Вставляем шапку сайта и открываем таблицу для вывода данных.
include("header.php");
OpenTable();
//Ниже идет содержание вашего модуля
echo "<html>"
. "<head>"
. "</head>"
. "<body>"
. "<form action=\"modules.php?name=Photo&file=upload\" method=\"post\" enctype=\"multipart/form-data\"> "
. "<input type=\"file\" name=\"filename\"><br> "
. "<input type=\"submit\" value=\"Загрузить\"><br> "
. "</form> "
. "</body>"
. "</html>"
. ""
."";
//Закрываем таблицу и вставляем нижнюю часть сайта.
CloseTable();
include("footer.php");

?>

А вот этот сценарий должен прописывать в базу путь к фотографии :
<?
//Проверка запрета прямого обращения к файлу модуля
if (!eregi("modules.php", $_SERVER['PHP_SELF']))
{ die ("You can't access this file directly..."); }
//Инклюдим файл mainfile.php
require_once("mainfile.php");
//Определяем переменную, содержащую имя модуля, ее можно использовать для построения внутренних ссылок
$module_name = basename(dirname(__FILE__));
//Определяем языковые данные
get_lang($module_name);
//Переменная $index = 1 определяет наличие правых блоков, без нее их не будет.
$index = 0;
//Вставляем шапку сайта и открываем таблицу для вывода данных.
include("header.php");
OpenTable();
if(!mysql_connect("localhost","root","")){
echo "Невозможно подключиться к серверу! <br>";
echo mysql_error();
exit;
}

if(!mysql_select_db("auto")){
echo "Невозможно подключиться к базе данных! <br>";
echo mysql_error();
exit;
}

define ("DBName","auto");
define ("HostName","localhost");
define ("UserName","root");
define ("Password","");
if(!mysql_connect(HostName,UserName,Password))
{echo"Невозможно подключиться к базе ".DBName."!<br>";
echo mysql_error();
exit;
}
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"photo".$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}



//Закрываем таблицу и вставляем нижнюю часть сайта.
CloseTable();
include("footer.php");
?>

Большое спасибо за помощь.

   
 
 автор: cheops   (24.03.2006 в 19:57)   письмо автору
 
   для: Mefisto84   (24.03.2006 в 18:43)
 

У вас код сейчас как выглядит - прикрепите его если не сложно. Да фотографии должны быть загружены на сервер - в момент загрузки в базу данных и помещается путь к тому месту, куда складируется фотография.

   
 
 автор: Mefisto84   (24.03.2006 в 18:43)   письмо автору
 
   для: cheops   (24.03.2006 в 13:52)
 

Расскажите об этом пожалуйста поподробнее, что то я не догоняю. Вот у меня база auto, в ней есть таблица car, в таблице поле photo текстовое(тип text), я хочу что бы в это поле сохранялся путь. Как мне это сделать? Как мне прописать это во втором аргументе? Подскажите если не сложно. И еще один вопрос, а фотографии где должны храниться? Они должны уже быть загружены на сервер? Заранее благодарен.

   
 
 автор: cheops   (24.03.2006 в 13:52)   письмо автору
 
   для: Mefisto84   (24.03.2006 в 06:46)
 

А вы когда фотографию сохраняете при помощи функции copy(), сохраняйте путь во втором аргументе в базу данных - "c:/temp/".$_FILES["filename"]["name"] (только у вас будет свой путь и относительный).

   
 
 автор: Mefisto84   (24.03.2006 в 06:46)   письмо автору
 
   для: cheops   (23.03.2006 в 20:44)
 

Хорошо, спасибо, теперь хотя бы фотки хоть куда-то сохраняются. Но мне то нужно что бы путь сохранялся в базу, что бы я потом мог эту фотку вытащить, сделать на неё ссылку. Как мне сохранить путь в базу?

   
 
 автор: cheops   (23.03.2006 в 20:44)   письмо автору
 
   для: Mefisto84   (23.03.2006 в 17:03)
 

Хм... как-то странно загружаются фотографии, попробуйте загружать их при помощи скрипта http://www.softtime.ru/scripts/upload.php, там же вы найдёте переменные, отвественные за имя файла и имя временного файла (такое ощущение, что у вас попадает в базу имя временного файла).

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования