如何将图像文件保存或移动到我的php文件夹中的文件夹

如何将图像文件保存或移动到我的php文件夹中的文件夹,php,Php,我正在建立一个媒体,我希望我的用户 上传尽可能多的图片,但我的问题是 如何将此图像保存或移动到文件夹 名为my_media文件夹中的照片包含, my_media文件夹包含我的php文件,如 php等,我可以将此文件移动到 我的_媒体文件夹已上载,但我不希望 为了安全起见,请出示他们的文件 有人应该修复我的代码谢谢 这是我的密码 require_once ('connect.php'); if (isset($_POST['Submit'])) { $tmp_dir = "my_media/

我正在建立一个媒体,我希望我的用户 上传尽可能多的图片,但我的问题是 如何将此图像保存或移动到文件夹 名为my_media文件夹中的照片包含, my_media文件夹包含我的php文件,如 php等,我可以将此文件移动到 我的_媒体文件夹已上载,但我不希望 为了安全起见,请出示他们的文件 有人应该修复我的代码谢谢

这是我的密码

require_once ('connect.php');

if (isset($_POST['Submit'])) {

 $tmp_dir = "my_media/photo";
 //it will move to my_media if assign my_media only to the variable $tmp_dir
 //but don't work with  $tmp_dir = "my_media/photo"

 $tmp_name = $_FILES["image"]["tmp_name"];
 $name = $_FILES["image"]["name"];

move_uploaded_file($tmp_name,$tmp_dir . basename($name));

    //rename("my_media/photo","my_media/photo". basename($name));
$location=$name;
$fname=$_POST['first_name'];
$lname=$_POST['last_name'];


$sql = "INSERT INTO tbl_image (first_name, last_name, image_location)
VALUES ('$fname', '$lname', '$location')";
 $res = mysqli_query($con,$sql);
//with this my the image name is inserted into my database but not into the foldermy_media/photo
header("Location:imgview.php");
}

首先,让我们删除所有
/
,并用PHPs
目录分隔符替换它们

 $tmp_dir = "my_media". DIRECTORY_SEPARATOR . "photo" . DIRECTORY_SEPARATOR ;
第二,为了确保您有权限写入该文件夹,让PHP创建该文件夹

要使其工作,请首先删除您创建的文件夹

if(!is_dir($tmp_dir)){
  mkdir($tmp_dir);
  move_uploaded_file($tmp_name,$tmp_dir . basename($name));
}else{
  move_uploaded_file($tmp_name,$tmp_dir . basename($name));
}

最后但并非最不重要的一点是,您可以接受SQL注入。使用事先准备好的语句

您是否尝试过在路径的末尾使用斜杠
$tmp_dir=“my_media/photo/”?我试过了,但仍然不工作文件夹照片是否存在及其可写性?因为你可能已经用你的用户创建了它,但是它也试图被www数据写入..我自己创建了文件夹,我没有使用代码创建,我已经编辑了我的代码,请检查。并确保您的表单正确无误。提交按钮名称应为小写的name=“submit”。检查html是否正确创建文件夹,但仍将图像文件存储在my_媒体中,新创建的文件夹仍保留empty@CFrancis尝试移动上传的文件($tmp_名称,“我的媒体”。目录分隔符。“照片”。目录分隔符。基本名称($name))它只在我的数据库中存储名称,但不存储文件夹我只是在这里储存我已经尝试了所有我要求做的事情,但还没有解决方案我该怎么办
if(!is_dir($tmp_dir)){
  mkdir($tmp_dir);
  move_uploaded_file($tmp_name,$tmp_dir . basename($name));
}else{
  move_uploaded_file($tmp_name,$tmp_dir . basename($name));
}