создать таблицу SQL с изображением - PullRequest
0 голосов
/ 23 декабря 2011

Я хочу использовать php для создания одной таблицы в sql, в которой изображения устанавливают содержимое изображения, а затем я хочу получить эту таблицу в html.

кто-нибудь знает, как это работает? или кто-то видел пример в сети?

пожалуйста, помогите. Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 23 декабря 2011

Здесь 'статья, которая расскажет вам все, что вы хотите знать о хранении изображений и т.п. в столбцах BLOB-объектов http://www.phpriot.com/articles/images-in-mysql

0 голосов
/ 23 декабря 2011

Хорошо, я понимаю, что вы хотите загрузить файл изображения в таблицу в db, через ваше веб-приложение, используя php, а затем снова хотите отобразить это же изображение из таблицы в вашем веб-приложении (html-страница).

Я покажу пример для MySQL, используя простой PHP 5.3

Создайте пример таблицы, скажем "photo_table":

CREATE TABLE photo_table (photo_name_col VARCHAR(30),photo_img_col LONGBLOB);

Теперь для загрузки файла изображениячерез вашу php-страницу используйте следующее в html-коде:

<form name="photoForm" method="post" ENCTYPE="multipart/form-data" action="../insertImage.php" >
      <input type="text" name="uploadFileName">
      <!--commenting as I was not able to publish this note<input type="file" name="uploadFile" />-->
      <!--Some other input fields if you want-->
      <input type="submit" value="Submit"/>
</form>

Теперь, после отправки формы «photoForm», значения формы передаются в «insertImage.php», где у нас будет следующеекод для загрузки фотографии и ее имени в таблицу в нашей базе данных MySQL:

<?php
    $con=mysql_connect("ipAddressOfDB","username","password");
    if(!$con){
    die('Could not connect:'.mysql_error());
    }
    mysql_select_db("db_name",$con);
    $image = $_FILES['uploadfile']['tmp_name'];
    $imageName = $_POST['uploadFileName'];
    $fp = fopen($image, 'r');
    $content = fread($fp, filesize($image));
    $content = addslashes($content);
    fclose($fp);
    $sql="insert into photo_table values('$imageName','$content')";
    mysql_query($sql,$con);
?>

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

<?php
    $con=mysql_connect("ipAddressOfDB","username","password");
    mysql_select_db("db_name",$con);
    $sql="select * from photo_table where photo_name_col ='$uploadFileName'";
    $result=mysql_query($sql,$con);
    if($row=mysql_fetch_array($result)){
        $fileName="generated/".$uploadFileName;
        file_put_contents($fileName, $row['photo']);
    }  
    echo "<img src='" . $fileName . "' />"; <!--this will display the image-->
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...