Как мне загрузить фотографию из формы php, а затем распечатать эту фотографию на следующей странице с помощью метода POST.Также я хочу сохранить эту фотографию в базе данных mysql.
Вот мой html-код
<form enctype = "multipart/form-data" action = "form.php" method = "POST">
<h3><input name = "fileupload" type = "file" id = "fileToUpload" />
</h3>
<input type = "submit" name ='submit' value = "Submit" />






HTML-форма
<form enctype = "multipart/form-data" action = "./action.php"
method = "POST">
<h3><input name = "fileupload" type = "file" id = "fileToUpload" /></h3>
<input type = "submit" name ='submit' value = "Submit" />
</form>
PHP-скрипт для загрузки изображения
action.php
if (isset($_FILES)) {
$file = UploadImage();
// If success, show image
if ($file != false) { ?>
<img src = "<?php echo $file['localpath']; ?>" />
<?php
}
}
function UploadImage($settings = false)
{
// Input allows you to change where your file is coming from so you can port this code easily
$inputname = (isset($settings['input']) && !empty($settings['input']))? $settings['input'] : "fileupload";
// Sets your document root for easy uploading reference
$root_dir = (isset($settings['root']) && !empty($settings['root']))? $settings['root'] : $_SERVER['DOCUMENT_ROOT'];
// Allows you to set a folder where your file will be dropped, good for porting elsewhere
$target_dir = (isset($settings['dir']) && !empty($settings['dir']))? $settings['dir'] : "/uploads/";
// Check the file is not empty (if you want to change the name of the file are uploading)
if (isset($settings['filename']) && !empty($settings['filename']))
$filename = $settings['filename'];
// Use the default upload name
else
$filename = preg_replace('/[^a-zA-Z0-9\.\_\-]/',"",$_FILES[$inputname]["name"]);
// If empty name, just return false and end the process
if (empty($filename))
return false;
// Check if the upload spot is a real folder
if (!is_dir($root_dir.$target_dir))
// If not, create the folder recursively
mkdir($root_dir.$target_dir,0755,true);
// Create a root-based upload path
$target_file = $root_dir.$target_dir.$filename;
// If the file is uploaded successfully...
if (move_uploaded_file($_FILES[$inputname]["tmp_name"],$target_file)) {
// Save out all the stats of the upload
$stats['filename'] = $filename;
$stats['fullpath'] = $target_file;
$stats['localpath'] = $target_dir.$filename;
$stats['filesize'] = filesize($target_file);
// Return the stats
return $stats;
}
// Return false
return false;
}
Вывод
// This is what the array on the return of successful upload:
Array
(
[filename] => bear.png
[fullpath] => /opt/lampp/htdocs/uploads/bear.png
[localpath] => /uploads/bear.png
[filesize] => 69631
)
после успешной загрузки вы получите имя файла по $ file ['filename'] и полный путь по $ file ['fullpath']. вы можете сохранить имя файла или путь к файлу в своей таблице БД.
Возможный дубликат Как сохранить имя файла в базе данных с другой информацией при загрузке изображения на сервер с помощью PHP?