Php 无法更改上载文件的文件夹位置
我想将我的$target目录(当前位于php/images/中)更改为uploads/images/,但由于某些原因,它无法工作,并且没有图像上载到该文件夹,但仅限于php/images,我不知道是什么原因导致了这种情况 我上传的所有图像都会上传到phpmyadmin,并加载到我的images.php页面中,因此所有关于$target的工作都不起作用Php 无法更改上载文件的文件夹位置,php,mysql,file-upload,phpmyadmin,image-uploading,Php,Mysql,File Upload,Phpmyadmin,Image Uploading,我想将我的$target目录(当前位于php/images/中)更改为uploads/images/,但由于某些原因,它无法工作,并且没有图像上载到该文件夹,但仅限于php/images,我不知道是什么原因导致了这种情况 我上传的所有图像都会上传到phpmyadmin,并加载到我的images.php页面中,因此所有关于$target的工作都不起作用 <?php $db = mysqli_connect("localhost", "root", "", "media"); $msg =
<?php
$db = mysqli_connect("localhost", "root", "", "media");
$msg = "";
if (isset($_POST['upload'])) {
$image = $_FILES['image']['name'];
$target = "php/images/".basename($image);
$sql = "INSERT INTO images (image_name) "
. "VALUES ('$image')";
mysqli_query($db, $sql);
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
$msg = "Image uploaded successfully";
}else{
$msg = "Failed to upload image";
}
}
?>
<form id='imageForm' method="POST" action="" enctype="multipart/form-data">
<input type="hidden" name="size" value="1000000">
<div>
<input class="file-upload" type="file" name='image' accept='image/*' />
</div>
<div class="upload-button">
<button class="" name='upload'>UPLOAD</button>
</div>
</form>
在mysql数据库中插入blob时,可以使用blob(base64),但如果加载的图像太多,则会减慢网站的运行速度,请看这里
if (isset($_POST['upload'])) {
if($_FILES['image']['error'] > 0) { echo 'Error during upload, try again'; }
//We won't use $_FILES['file']['type'] to check the file extension for security purpose
//Set up valid image extensions
$extsAllowed = array( 'jpg', 'jpeg', 'png' );
//Extract extention from uploaded file
//substr return ".jpg"
//Strrchr return "jpg"
$extUpload = strtolower( substr( strrchr($_FILES['image']['name'], '.') ,1) ) ;
//Check if the uploaded file extension is allowed
if (in_array($extUpload, $extsAllowed) ) {
//Upload the file on the server
$name = "{$_FILES['image']['name']}";
$imgName = rand(5, 99999);
$image = 'php/images/'.$imgName.'.jpg';
$result = move_uploaded_file($_FILES['image']['tmp_name'], $image);
}
if(result){
$sql = "INSERT INTO images (image_name) "
. "VALUES ('$image')";
mysqli_query($db, $sql);
$msg = "Image uploaded successfully";
}else{
$msg = "Failed to upload image";
}
}
还要检查您是否有在该目录上写入的权限。是否检查了uploads/images文件夹的访问权限?您的web服务器可能不允许写入此文件夹。哇。我现在觉得自己很愚蠢,哈哈。是的,这解决了我的问题。谢谢
if (isset($_POST['upload'])) {
if($_FILES['image']['error'] > 0) { echo 'Error during upload, try again'; }
//We won't use $_FILES['file']['type'] to check the file extension for security purpose
//Set up valid image extensions
$extsAllowed = array( 'jpg', 'jpeg', 'png' );
//Extract extention from uploaded file
//substr return ".jpg"
//Strrchr return "jpg"
$extUpload = strtolower( substr( strrchr($_FILES['image']['name'], '.') ,1) ) ;
//Check if the uploaded file extension is allowed
if (in_array($extUpload, $extsAllowed) ) {
//Upload the file on the server
$name = "{$_FILES['image']['name']}";
$imgName = rand(5, 99999);
$image = 'php/images/'.$imgName.'.jpg';
$result = move_uploaded_file($_FILES['image']['tmp_name'], $image);
}
if(result){
$sql = "INSERT INTO images (image_name) "
. "VALUES ('$image')";
mysqli_query($db, $sql);
$msg = "Image uploaded successfully";
}else{
$msg = "Failed to upload image";
}
}