Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Не могу отправить файл в mediumblob


Автор: vlad275 18.11.2009, 12:14
Закачиваю фотографию в каталог upload
Получаю бинарное содержимое файла с именем хранимым в $myvar_varcharPicture

 $bin = file_get_contents ($myvar_varcharPicture);

Добавляю в INSERT следующее значение:
.mysql_real_escape_string('upload/'.$bin).

В чем может быть ошибка?

Автор: gta4kv 18.11.2009, 12:20
Может у MySQL спросить стоит, в чем ошибка? 
http://php.net/mysql_error

Добавлено через 3 минуты и 20 секунд
и, кстати
Код

.mysql_real_escape_string('upload/'.$bin).

объясните смысл этой строчки? Бинарные данные через экспейп? О_О

Добавлено через 6 минут и 17 секунд
и, да, телепаты в отпуске - вы так и не написали что у вас не так

Автор: MoLeX 18.11.2009, 12:47
Цитата(vlad275 @  18.11.2009,  12:14 Найти цитируемый пост)
В чем может быть ошибка? 


в

Цитата(vlad275 @  18.11.2009,  12:14 Найти цитируемый пост)
.mysql_real_escape_string('upload/'.$bin).



Автор: Ипатьев 18.11.2009, 12:55
vlad275, а зачем вам бинарное содержимое файла в базе данных, если не секрет?
Судя по всему, как показать потом этот файл в браузере, вы тоже наверняка не знаете. Может, не стоит делать непонят6но что непонятно зачем?

Автор: vlad275 18.11.2009, 15:12
Спасибо, я уже разобрался. Закачанный в каталог файл привожу в бинарный вид, ставлю слэши и помещаю в DB как blob

Код

   $myvar_varcharPicture = $_FILES["file"]["name"];
   
    
   //Получение бинарного содержимого фотографии
   $bin = file_get_contents("upload/$myvar_varcharPicture");
   //$f=fopen("upload/$myvar_varcharPicture","rb"); // имя файла или картинки -- открыли файл на чтение
   //$bin=fread($f,filesize("upload/$myvar_varcharPicture")); // считали файл в переменную
   //fclose($f); // закрыли файл, можно опустить

    $bin=addslashes($bin);



Автор: lelik133 18.11.2009, 15:25
вы не ответили а зачем вам это нужно?
чем это лучше чем файл на диске + ссылка на него в БД?

Автор: vlad275 20.11.2009, 15:51
lelik133, 
Просто экспериментирую

Можно ли вывести графический файл в середине HTML-документа? Как это сделать?
Вот такой код выводит изображение:

Код

<?
//echo "1";
header("Content-type: image/jpeg");
$img = file_get_contents('bullet.gif');
echo $img;
?>


А вот такой выводит содержимое файла:
Код

<HTML>
Test
<?
//echo "1";
header("Content-type: image/jpeg");
$img = file_get_contents('bullet.gif');
echo $img;
?>




Цитата

Test
Warning: Cannot modify header information - headers already sent by (output started at Y:\home\localhost\www\img.php:3) in Y:\home\localhost\www\img.php on line 5
GIF89a � �С��������������!щd���,���� � �Ѓяяя���������„Џ© ]sf*hSf2®M…@�; 

Автор: Ипатьев 20.11.2009, 16:14
нет, нельзя
желательно знать хотя бы основы HTML перед тем, как начинать изучение РНР

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)