записать картинку в базу (mysql)
заранее благодарен
гружу картинку, надо записать её в базу (mysql), потом прочитать оттеда и нарисовать. разбирался сам,- чевота недагон, кризис X), в документации это практически не обьясняют :( плиз, дайте элементарный кодик этава дела или ссылку где это объясняется.
заранее благодарен
http://php.spb.ru/php/image.html
сам кстати пробовал загружать в базу postgresql, загружать то загружается, а извлечь не могу. Нутром чувcтвую, что проблема в header, но разобраться не могу (третий день всего за клавой :).
Хотя простое
<?
header("Content-type: image/gif");
readfile("image.jpg");
?>
работает.
.......
Нутром чувcтвую, что проблема в header, но разобраться не могу (третий день всего за клавой :).
Хотя простое
<?
header("Content-type: image/gif");
readfile("image.jpg");
?>
работает.
А тебе кроме вот этого "простого" больше ничего и не нужно :)
Создай файл img.php и делай на него src:
По первому вопросу, хочу добавить, что хранить картинки в базе, тем более в MySQL это не очень хорошо для производительности и роста базы. ИМХО, гораздо лучше хранить файл на диске а в БД только имя.
без права записи на диск..
на этом сайте всё объясняют очень подробно, но кроме того что мне нужно :(
как это делается с загружаемым файлом, без записи его на диск??
я пробовал так:
if(isset($file)){
$failo=$_FILES['file']['tmp_name'];
$fp=fopen($failo,"r");
$up=fread($fp,filesize($failo));
$str="insert into fotos(foto) values('".$up."')";
mysql_query('fotos',$str);
} ?>
<body>
<form action="<? $_SERVER['PHP_SELF']?>" method="post"
enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
нихрена не работает, потому как не может открыть и прочитать (не находит) подгружаемое файло :(
и вообще насколько я понял как не верти, а для того чтобы реализовать это (возможность загрузки картинок) полюбому нужно иметь право записи на диск??
потому как если даже записывать картинки в бд, то потом чтобы их рисовать в браузер нужно делать файл. это так?
..... потому как не может открыть и прочитать (не находит) подгружаемое файло :(
.....
чтобы реализовать это (возможность загрузки картинок) полюбому нужно иметь право записи на диск?
......
Полюбому, необходима возможность записи в tmp.
....
то потом чтобы их рисовать в браузер нужно делать файл. это так?
Нужно 1 раз нарисовать скрипт который по входящим параметрам будет брать из базы картинку и выводить её с соответствующим хэдером и потом всюду, где нужно картинку показать указывать src на этот скрипт с параметром.
Типа:
Скрипты то ты на сервер можешь заливать?
Полюбому, необходима возможность записи в tmp.
а может попробовать читать stdin??!! тогда сохранять на диск ничего не надо! читаем из потока переменную переданную POST и сразу в базу ее!
Полюбому, необходима возможность записи в tmp.
для начала скрипт каторый я привёл выше не фурычит у меня на локальном серваке, где права у меня есть ;) я не панимаю почему у меня после сабмита файло не записывается в темп? и где ано астаётся? висит в раме? и как тады ево запихнуть в базу?
Скрипты то ты на сервер можешь заливать?
да панятна, иначе какже, но этаже через авторизацию. а для таго штобы рисовать картинку из базы нада слепить файло (im.php на пример), каторое надо как не верти записать на диск, насколько понимаю.
а может попробовать читать stdin??!! тогда сохранять на диск ничего не надо! читаем из потока переменную переданную POST и сразу в базу ее!
можно ли немного пападробней, таварищ Лсд? а ещё лучше примерчик кодика если вазможна?
.....
я не панимаю почему у меня после сабмита файло не записывается в темп? и где ано астаётся?
Сдраствуи, друк.
В php.ini есть такайа настроика - "upload_tmp_dir".
Она у тибиа в правильное место паказывает?
Лично у меня твой скрипт заработал (номинально, т.е. в базу класть не пробовал но sql сформировал). Так что тут скорее всего дело в настройках.
а может попробовать читать stdin??!! тогда сохранять на диск ничего не надо! читаем из потока переменную переданную POST и сразу в базу ее!
Интересно, это как это так читать stdin?
Насколько я знаю, то при передаче файлов POST-ом, они сразу записываются в temp (ну т.е. наш скрипт этому помешать не может).
Интересно, это как это так читать stdin?
Насколько я знаю, то при передаче файлов POST-ом, они сразу записываются в temp (ну т.е. наш скрипт этому помешать не может).
php only ;)
Интересно, это как это так читать stdin?
Насколько я знаю, то при передаче файлов POST-ом, они сразу записываются в temp (ну т.е. наш скрипт этому помешать не может).
читаем stdin:
а по поводу файлов, то апача сначала формирует POST запрос соответственно оформляя все входящие переменные нужным образом следовательно их можно прочитать прежде чем скрипт их обработает... но я не пытался делать такой трюк... но попробовать возможно стоит.
код писать не буду, некогда, а вот общую идею пожайлуста.... в двух словах тебе нужно проинициализировать собственный массив переменных переданных методом POST.... т.е. читаешь стандартный поток ввод в котором содержаться все переменные с их значениеями в виде
var1=val1&var2=val2 и т.д.
читаешь из него блок размером
полученный блок это и есть строчка из переменных... дальше делаешь разбор строк соответсвующим образом... и все... потом пихаешь в базу содержимое нужной тебе переменной....
Идея такая.
Сдраствуи, друк.
В php.ini есть такайа настроика - "upload_tmp_dir".
разабрался, спасиба. эта настройка была просто отключина. а по поводу великого и могучиго русского языка намёк понял, обещаю подтянуть как только разбирусь с пхп ;) и ещё когда писал тот пост был не совсем трезв, пардон.