Как загрузить PNG файл в базу данных с помощью URL? - PullRequest
0 голосов
/ 20 октября 2018

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

$connection = mysqli_connect ($db_host,$db_user,$db_pass);

mysqli_select_db($connection,$db_name);

$sql1 = "INSERT INTO figures (Id, Name, Image) VALUES ('".$_GET['id']."', '".$_GET['Name']."', '".$_GET['Image']."')";
mysqli_query($connection,$sql1);

Эти строки используются для отправки данных, поэтому я могу загрузить VARCHAR в базу данных, как только я не могу загрузить png, я не знаю, как определить путь к файлу здесь.(Может быть, если вы знаете более простое решение для моей задачи, не могли бы вы поделиться им?) Заранее спасибо !!

1 Ответ

0 голосов
/ 20 октября 2018

Прежде всего вам нужно установить форму отправки на multipart, а также изменить метод на POST :

<form method="POST" action="uploader.php" enctype="multipart/form-data">
 <input type="file" name="myfile">
 <input type="text" name="id">
 <input type="submit" value="Upload">
</form>

на странице PHP вы можете получить данные файла, используя $ _FILES:

// I dont know what is id here? shouldn't be the auto Primary key?
$id=$_POST['id']; 
//Get name of file
$imageName=$_FILES["myfile"]["name"]; 
//Get the binary data of the image 
$imageData= addslashes(file_get_contents($_FILES['myfile']['temp_name']));

$connection = mysqli_connect ($db_host,$db_user,$db_pass);
mysqli_select_db($connection,$db_name);
$sql1 = "INSERT INTO figures (Id, Name, ImageData) VALUES ('$id', '$imageName', '$imageData')";
mysqli_query($connection,$sql1);

Обратите внимание, что тип столбца imageData должен быть BLOB .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...