我在设置文件上传到我的php脚本时遇到了问题。
在上传本身中,我将它指向了我想要的路径,但是我不确定我是否在语法上保留了其余的脚本。
编辑:我已解决了我的情况,文件未正确上传。我已经编辑了我目前工作的代码块。如果需要,请参阅预编辑版本以查看更改:)。
干杯。
$tardir= "C:/xampp/htdocs/uploaddir/$targetname";
$uploadOk=1;
if(isset($_FILES["uploadFile"])){
$tardir= $tardir . "/" . basename($_FILES["uploadFile"]["name"]);
if(move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $tardir)){
echo "The file: ". basename($_FILES["uploadFile"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
$targetname
设置为用户在字段中输入的内容。在这种情况下,我将它作为他们的电子邮件。
$targetname = filter_input(INPUT_POST, 'email');
这就是文件上传的<html>
:
<form action= "userlogin.php" method= "post" enctype= "multipart/form-data">
<p><strong>Please choose a file to upload: <input type="file" name="uploadFile"><br></p>
<input type="submit" value="Upload File">
答案 0 :(得分:1)
很难猜到你的所有代码,因为看起来你这里只有一个片段,但我会猜测一下。如果目标名称来自您所说的文本输入并且您已将其设置为电子邮件,那么您是否在此处删除了斜杠?
$tardir= "C:/xampp/htdocs/uploaddir/$targetname";
这就像:
C:/xampp/htdocs/uploaddir/me@gmail.com
这运行:
$tardir= $tardir . basename($_FILES["uploadFile"]["name"]);
然后:
C:/xampp/htdocs/uploaddir/me@gmail.comfilename
不应该是:
C:/xampp/htdocs/uploaddir/me@gmail.com/filename
您还可以在此处注释掉所有代码和var_dump()文件数组,并在尝试使用它们查看每个容器中保存的数据之前回显路径。如果我得到这样的错误,我会转储所有内容并回显每个字符串,直到找到它为止。