[英]PHP image upload can upload on localhost file folder and mysql database but the image not loading
文件路徑:C:\\TEMP\\bcproject\\images
我已經測試了下面的代碼。 當我嘗試在我的目錄路徑 C:\\TEMP\\bcproject\\images 中上傳圖像時,該圖像成功插入到數據庫中。 但我面臨的問題是我無法在我的文件夾中查看圖像......上面我確實提供了問題的圖片。
現在尋求幫助
我的代碼: testaddimage.php
<?php
include("connection.php");
if(isset($_POST['but_upload'])){
$name = $_FILES['file']['name'];
$target_dir = "images/" .$name;
$target_file = $target_dir . basename($_FILES["file"]["name"]);
// Select file type
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Valid file extensions
$extensions_arr = array("jpg","jpeg","png","gif");
// Check extension
if( in_array($imageFileType,$extensions_arr) ){ // this can but no image appear
// Insert record
$query = "insert into test(imagename) values('".$name."')";
mysqli_query($conn,$query);
// Upload file
move_uploaded_file($_FILES['file']['tmp_name'],$target_dir);
}
/*$name = $_FILES['file']['name'];
$tmpname = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];
$error = $_FILES['file']['error'];
$type = $_FILES['file']['type'];
echo $name. " ". $tmpname. " ".$size . " ". $error . " ". $type;
$fileext = (explode('.',$name));
$fileactualext = strtolower(end($fileext));
$allowed = array("jpg","jpeg","png","gif");
if( in_array($fileactualext,$allowed) ) {
if ($error === 0)
{
if($size < 1000000){
$filenamenew = uniqid('',true). "." . $fileactualext;
$filedir = 'images/'. $filenamenew;
move_uploaded_file( $tmpname,$filedir );
header("location:testaddimage.php");
} else {
echo "File to big";
}
echo "There was an error.";
}
}else
{
echo "cannot uploade";
}
*/
}
?>
<form method="post" action="testaddimage.php" enctype='multipart/form-data'>
<input type='file' name='file' />
<input type='submit' value='Save name' name='but_upload'>
</form>
連接.php
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$database = "playgadget";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
首先, move_uploaded_file 返回 true 還是 false ? ( https://www.php.net/manual/fr/function.move-uploaded-file.php )
其次,您是否檢查了目標目錄權限?
第三,當您在 Windows 上時,請確保斜杠是正確的(使用 DIRECTORY_SEPARATOR const 而不是“/”或“\\”)。 我不記得 php 是否處理過這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.