php - 图像上传到数据库中未保存在目录中

标签 php html file-upload path image-uploading

我正试图添加一个新的课程到我的数据库与一些图像和视频。我以前做过,但后来成功了,我创建了一个新项目,并将旧项目中的所有文件夹复制/粘贴到其中,但没有成功。
HTML

<html>
<div class="main-content">
  <div class="section__content section__content--p30">
    <div class="container-fluid">


      <div class="col-lg-12">
        <div class="card">
          <div class="card-header">
            <strong>Basic Form</strong> Elements
          </div>
          <div class="card-body card-block">
            <form action="index.php?admin=addcourse1" method="post" enctype="multipart/form-data" class="form-horizontal">

              <div class="row form-group">

                <div class="col-12 col-md-9">
                  <input type="hidden" name="courseID" class="form-control">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="file-input" class=" form-control-label">Icon</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="file" id="fileToUpload" name="courseIcon" class="form-control-file">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="text-input" class=" form-control-label">Title</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="text" id="text-input" name="courseTitle" placeholder="Text" class="form-control">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="textarea-input" class=" form-control-label">Description</label>
                </div>
                <div class="col-12 col-md-9">
                  <textarea name="courseDesc" id="textarea-input" rows="9" placeholder="Content..." class="form-control"></textarea>
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="file-input" class=" form-control-label">Video</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="file" id="fileToUpload" name="courseVideo" class="form-control-file">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="textarea-input" class=" form-control-label">Video Description</label>
                </div>
                <div class="col-12 col-md-9">
                  <textarea name="courseVideoDesc" id="textarea-input" rows="9" placeholder="Content..." class="form-control"></textarea>
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="text-input" class=" form-control-label">Tagline</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="text" id="text-input" name="courseTagline" placeholder="Text" class="form-control">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="file-input" class=" form-control-label">Image</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="file" id="fileToUpload" name="courseImage" class="form-control-file">
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="textarea-input" class=" form-control-label">Information</label>
                </div>
                <div class="col-12 col-md-9">
                  <textarea name="courseInfo" id="textarea-input" rows="9" placeholder="Content..." class="form-control"></textarea>
                </div>
              </div>

              <div class="row form-group">
                <div class="col col-md-3">
                  <label for="text-input" class=" form-control-label">Price</label>
                </div>
                <div class="col-12 col-md-9">
                  <input type="text" id="text-input" name="coursePrice" placeholder="Text" class="form-control">
                </div>
              </div>




              <div class="card-footer">
                <button type="submit" class="btn btn-primary btn-sm">
                                            <i class="fa fa-dot-circle-o"></i> Submit
                                        </button>
                <button type="reset" class="btn btn-danger btn-sm">
                                            <i class="fa fa-ban"></i> Reset
                                        </button>
              </div>
            </form>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

</html>

PHP
<?php
include "dbconfig.php";

//icon
$folder ="courses_uploads/"; 

$courseIcon = $_FILES['courseIcon']['name']; 
$path = $folder . $courseIcon ;
$target_file=$folder.basename($_FILES["courseIcon"]["name"]);
$imageFileType=pathinfo($target_file,PATHINFO_EXTENSION);

 
$allowed=array('jpeg','png' ,'jpg');
$filename=$_FILES['courseIcon']['name'];
$ext=pathinfo($filename, PATHINFO_EXTENSION); 




//video
$courseVideo = $_FILES['courseVideo']['name']; 
$path2 = $folder . $courseVideo ;
$target_file2=$folder.basename($_FILES["courseVideo"]["name"]);
$imageFileType2=pathinfo($target_file2,PATHINFO_EXTENSION);

 
$allowed2=array('mp3','mp4' ,'wma'); 
$filename2=$_FILES['courseVideo']['name'];
$ext2=pathinfo($filename2, PATHINFO_EXTENSION); 





//image
$courseImage = $_FILES['courseImage']['name']; 
$path1 = $folder . $courseImage ;
$target_file1=$folder.basename($_FILES["courseImage"]["name"]);
$imageFileType1=pathinfo($target_file1,PATHINFO_EXTENSION);

 
$allowed1=array('jpeg','png' ,'jpg');
$filename1=$_FILES['courseImage']['name'];
$ext1=pathinfo($filename1, PATHINFO_EXTENSION); 







$stmt = $db_con->prepare("INSERT INTO db_course VALUES (:courseID, :courseIcon, :courseTitle, :courseDesc, :courseVideo, :courseVideoDesc, :courseTagline, :courseImage, :courseInfo, :coursePrice)");
$stmt->bindParam(":courseID", $_POST['courseID']);
$stmt->bindParam(":courseIcon", $courseIcon);
$stmt->bindParam(":courseTitle", $_POST['courseTitle']);
$stmt->bindParam(":courseDesc", $_POST['courseDesc']);
$stmt->bindParam(":courseVideo", $courseVideo);
$stmt->bindParam(":courseVideoDesc", $_POST['courseVideoDesc']);
$stmt->bindParam(":courseTagline", $_POST['courseTagline']);
$stmt->bindParam(":courseImage", $courseImage);
$stmt->bindParam(":courseInfo", $_POST['courseInfo']);
$stmt->bindParam(":coursePrice", $_POST['coursePrice']);


if ($stmt->execute() && in_array($ext,$allowed) && in_array($ext1,$allowed1) && in_array($ext2,$allowed2)) {

	move_uploaded_file( $_FILES['courseIcon'] ['tmp_name'], $path);
	move_uploaded_file( $_FILES['courseVideo'] ['tmp_name'], $path2);
	move_uploaded_file( $_FILES['courseImage'] ['tmp_name'], $path1);
	 

	echo "<script>alert('Successful');document.location.href='index.php?admin=course';</script>";
}

else {
	echo "<script>alert('error');document.location.href='index.php?admin=addcourse';</script>";
}
?>

误差
问题是,当我单击“添加”按钮时,所有数据都保存到数据库中,但图像和视频不会保存到创建的文件夹中。我做了一些研究,大多数的答案都解释说,这是因为得到了许可,但我已经改变了,或者我做得不对?
这是我更改的权限的图像:
Image
当我运行代码时,页面只显示错误消息,我不知道如何修复它。

最佳答案

你配置了你的ntfs权限了吗?在您的屏幕截图上,它看起来像smb权限。
NTFS Permission window

关于php - 图像上传到数据库中未保存在目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55291533/

相关文章:

php - 上传图片的权限被拒绝

php - 在PHP中的坐标数组之间查找两个最远的对象

javascript - jQuery 点击 ajax 随机生成的元素不起作用

php - 使用 fwrite() 还是 move_uploaded_file() 更好?

php - 使用他们的离线 token 发布到 Facebook 用户的墙上

php - 将产品中的自定义元数据添加到 Woocommerce 中的订单项

html - 是否可以更改文件上传html控件中 "Browse"按钮的样式?

PHP - 无法上传大于 25MB 的文件

php - PHP 中的嵌套循环 - 布局问题

php - 代码不打印数据库中的值