Каков наилучший способ хранения изображений на сервере с использованием MySQL BLOB или обычного сценария загрузки PHP?

75
3
1
Лучший ответ
76

<Тело>

если (Исеть ($ _ POST [ 'submit_image']))

{

глобальное $ name;

глобальное $ изображение;

if (getimagesize ($ _ FILES ["myimage"] ["tmp_name"]) == FALSE)

{

эхо "выберите !!";

}

еще

{

$ Имя = addslashes ($ _ FILES [ "myimage"] [ "имя"]);

$ IMAGE = file_get_contents (addslashes ($ _ FILES [ "myimage"] [ "tmp_name"]));

$ = Base64_encode изображения ($ изображения);

$ host = 'localhost';

$ user = 'root';

$ pass = '';

$ conn = mysqli_connect ($ host, $ user, $ pass);

mysqli_select_db ($ сопп, '14ce014');

$ insert_image = "INSERT INTO image (name, content) VALUES ('$ name', '$ image')";

$ Результат = mysqli_query ($ сопп, $ insert_image);

если ($ результат)

{

echo "изображение загружено !!
";

}

еще

{

эхо "не загружено";

}

// отображать

$ img = "выбрать * из изображения";

$ Результат = mysqli_query ($ сопп, $ IMG);

в то время как ($ строка = mysqli_fetch_array ($ результат))

{

echo '';

}

}

}

?>

ответил(а) 2020-05-05T16:15:05+03:00 2 года назад
62

Привет Рави Редди,

Благодаря A2A.

Я хотел бы предложить, и я практикую хранение изображения на моем сервере и сохранить его путь на сервере SQL. Это повысит производительность SQL-запросов. Если вы включите кэширование на сервере для файлов изображений, вы получите потрясающую производительность.

С Уважением,

Мохаммед Сиджас

ответил(а) 2020-05-05T16:15:05+03:00 2 года назад
62

Для хранения изображений на сервере рекомендуется хранить их на жестких дисках. Хранение изображения в базе данных в виде BLOB-объектов влияет на эффективность поисковых запросов SQL. По мере увеличения данных увеличивается нагрузка на сервер sql, что будет влиять на выполнение запросов. Лучшая идея - загрузить изображение с помощью PHP и сохранить путь к изображению на жестком диске в таблицах SQL, чтобы впоследствии можно было извлечь изображение с помощью этих путей, что избавит сервер SQL от большой нагрузки. Надеюсь, это дало вам идею.

ответил(а) 2020-05-05T16:15:05+03:00 2 года назад
44

Как загрузить изображение BLOB в базу данных Mysql, используя PHP, SQL и HTML

Код ниже можно использовать для вставки изображения в базу данных MySQL. Изображение сохраняется как блоб. Большой двоичный объект. После загрузки изображение также отображается с использованием HTML, PHP и SQL. Вам просто нужно изменить имя сервера, имя пользователя и пароль, остальное создается автоматически. (База данных, таблица). Если вы используете xampp, код должен находиться в папке, созданной внутри папки htdocs. Видео выше показывает все.

  1. <?php
  2. //This code shows how to save image im mysql database using php, sql and html.
  3. //The image is uploaded using php and sql.
  4. //It's a web-based application that can be accessed by using a browser.
  5. //This is for educational purposes only, Use it at your own risk.
  6. //Connect to server
  7. $servername = "localhost";
  8. $username = "root";
  9. $password = "";
  10. $conn = mysqli_connect($servername, $username, $password);
  11. if ($conn) {
  12. echo "Connected to server successfully";
  13. } else {
  14. die( "Failed To Connect to server ". mysqli_connect_error() );
  15. }
  16. $selectalreadycreateddatabase = mysqli_select_db($conn, "PhpMysqlDatabaseBlobImageUpload");
  17. if ($selectalreadycreateddatabase) {
  18. echo "<br /> Existing database selected successfully";
  19. } else {
  20. echo "<br /> Selected Database Not Found";
  21. $createNewDb = "CREATE DATABASE IF NOT EXISTS `PhpMysqlDatabaseBlobImageUpload`";
  22. if (mysqli_query($conn, $createNewDb)) {
  23. echo "<br />New Database Created Successfullly";
  24. $selectCreatedDatabase = mysqli_select_db($conn, "PhpMysqlDatabaseBlobImageUpload");
  25. if ($selectCreatedDatabase) {
  26. echo "<br />Created Database Selected Successfullly";
  27. // Creating new table
  28. $sqlcreatetable = "
  29. CREATE TABLE IF NOT EXISTS `imageuploadphpmysqlblob` (
  30. `id` int(11) NOT NULL AUTO_INCREMENT,
  31. `name` varchar(100) NOT NULL,
  32. `image` longblob NOT NULL,
  33. PRIMARY KEY (`id`)
  34. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  35. ";
  36. if (mysqli_query($conn, $sqlcreatetable)) {
  37. echo "<br />New table Created";
  38. } else {
  39. echo "<br /> Unable to create new table.";
  40. }
  41. }
  42. } else {
  43. echo "Unable to create database";
  44. }
  45. }
  46. if (isset($_POST['submit'])) {
  47. if (getimagesize($_FILES['imagefile']['tmp_name']) == false) {
  48. echo "<br />Please Select An Image.";
  49. } else {
  50. //declare variables
  51. $image = $_FILES['imagefile']['tmp_name'];
  52. $name = $_FILES['imagefile']['name'];
  53. $image = base64_encode(file_get_contents(addslashes($image)));
  54. $sqlInsertimageintodb = "INSERT INTO `imageuploadphpmysqlblob`(`name`, `image`) VALUES ('$name','$image')";
  55. if (mysqli_query($conn, $sqlInsertimageintodb)) {
  56. echo "<br />Image uploaded successfully.";
  57. } else {
  58. echo "<br />Image Failed to upload.<br />";
  59. }
  60. }
  61. } else {
  62. # code...
  63. }
  64. //Retrieve image from database and display it on html webpage
  65. function displayImageFromDatabase(){
  66. //use global keyword to declare conn inside a function
  67. global $conn;
  68. $sqlselectimageFromDb = "SELECT * FROM `imageuploadphpmysqlblob` ";
  69. $dataFromDb = mysqli_query($conn, $sqlselectimageFromDb);
  70. while ($row = mysqli_fetch_assoc($dataFromDb)) {
  71. echo '<img height="250px" width="250px" src=data:image;base64,'.$row['image'].'/>';
  72. }
  73. }
  74. //calling the function to display image
  75. displayImageFromDatabase();
  76. //Finnaly close connection
  77. if (mysqli_close($conn)) {
  78. echo "<br />Connection Closed.......";
  79. }
  80. ?>
  81. <!DOCTYPE html>
  82. <html>
  83. <head>
  84. <title>How To upload BLOB Image To Mysql Database Using PHP,SQL And HTML.</title>
  85. </head>
  86. <body>
  87. <form action="" method="post" enctype="multipart/form-data">
  88. <input type="file" name="imagefile">
  89. <br />
  90. <input type="submit" name="submit" value="Upload">
  91. </form>
  92. </body>
  93. </html>

Другие полезные ресурсы:

https: //mauricemuteti2015.tumblr ...

Http: //mauricemutetingundi.blogs ...

https: //mauricemutetingundi.word ...

ответил(а) 2020-05-05T16:15:05+03:00 2 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема