загрузить — загрузка фотографий

PHP-новичок здесь

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

Итак, у меня есть два файла .php:

<html>
<body>
<form action="upload.php">
<input type="file" name="photo">
<input type="submit" name="submit" value="Submit" />
</form>
</body>

а также

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes";

$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
//$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
//$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

if($imageName==NULL){
echo "Null";
}
else{
echo "The photo is okay!";
}

После загрузки любого изображения оно отображается как пустое.

Может ли кто-нибудь объяснить мне, почему? И как я мог это решить?

0

Решение

Сначала вы должны использовать этот элемент формы:

<form enctype="multipart/form-data" action="upload.php" method="POST">

а во-вторых, вы должны прочитать содержимое файла из временной папки и сохранить в БД:

$tmpName  = $_FILES['userfile']['tmp_name'];
$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

затем сохраните это содержимое в поле в MySQL типа BLOB.

0

Другие решения

PHP-новичок здесь

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

Итак, у меня есть два файла .php:

<html>
<body>
<form action="upload.php">
<input type="file" name="photo">
<input type="submit" name="submit" value="Submit" />
</form>
</body>

а также

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes";

$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
//$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
//$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

if($imageName==NULL){
echo "Null";
}
else{
echo "The photo is okay!";
}

После загрузки любого изображения оно отображается как пустое.

Может ли кто-нибудь объяснить мне, почему? И как я мог это решить?

РЕШЕНИЮ:

Я изменил API, чтобы я мог использовать только mysqli

Индекс:

<html>
<body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file" name="photo">
<input type="submit" name="submit" value="Submit" />
</form>
</body>

PHP скрипт:

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes"."<br>";

$imageName = mysqli_real_escape_string($conn ,$_FILES["photo"]["name"]);
$imageData = mysqli_real_escape_string($conn, file_get_contents($_FILES["photo"]["tmp_name"]));
$imageType = mysqli_real_escape_string($conn, $_FILES["photo"]["type"]);

//process the image ...
0

По вопросам рекламы [email protected]