[英]File upload form is not uploading
我正在为学校运行一个小型PHP项目,并且正在尝试建立一个表单,用户可以在其中上传个人资料图片。
我尝试使用W3Schools,但是无法使其与我的代码一起使用。 这是该页面的链接: https : //www.w3schools.com/php/php_file_upload.asp
首先,我声明一些变量:
$target_dir = "profilepic/";
$target_file = $target_dir . basename($_FILES["image_to_upload"]["name"]);
然后,我将上传的文件移到正确的目录。 注册后,使用以下命令进行检查:
move_uploaded_file($_FILES["image_to_upload"]["tmp_name"], $target_file);
我已经在表格中设置了参数,因此用户只能选择图像文件:
<form action='index.php' method='post' enctype='multipart/form-data'>
<input type= 'text' name='leerlingid' placeholder='Username' required>
<input type= 'text' name='mail' placeholder='Email Address' required>
<input type= 'password' name='wachtwoord' placeholder='Password' required>
<input type= 'password' name='wachtwoordcheck' placeholder='Password confirmation' required>
<input type= 'text' name='voornaam' placeholder='First name' required>
<input type= 'text' name='achternaam' placeholder='Last name' required>
<select name='sekse'>
<option value='Man'>Man</option>
<option value='Vrouw'>Vrouw</option>
</select>
Profile picture:
<INPUT id='image_to_upload' NAME=image_to_upload' TYPE='file' accept='image/x-png,image/gif,image/jpeg' required>
<input type='submit' name='reg' value='Register'>
</form>
wachtwoord是密码
leerlingid是用户名
voornaam是名字
achternaam为姓
性别是性
该项目使用荷兰语,因此对荷兰语名称感到抱歉。
表单正常运行,并且出现0错误,但是注册用户后,没有文件上传。 我正在使用学校服务器,但是如果我没错,$ target_dir应该从放置form.php的位置开始。
我不知道ini文件中的file_uploads = On,但是我可以从FileZilla上传我的文件,所以我以为是。 (尽管我无法访问该文件,所以我无法检查或更改它)。
如果有人可以指出为什么它不起作用,那将是很大的帮助。
编辑:
我现在也尝试了以下代码:
$upload = move_uploaded_file( $_FILES["image_to_upload"]["tmp_name"], $target_file );
if( $upload ) {
header("Location: good.php");
} else {
header("Location: error.php");
//echo "Error:" . $_FILES["image_to_upload"]["error"];
}
但是我的代码完全跳过了这一步。 它仍然没有上传图片,而是转到确认的注册页面。
编辑:我解决了我的问题。 看看我的其他答案。 它包含我的错误。
您是否已确认将接收文件的文件夹具有写权限?
编辑代码,如下所示:
$upload = move_uploaded_file( $_FILES["image_to_upload"]["tmp_name"], $target_file );
if( $upload ) {
echo "Success!";
} else {
echo "Error:" . $_FILES["image_to_upload"]["error"];
}
这将返回所有错误。
我在@ 04FS的帮助下解决了该问题。 我将$ target_file变量中的“名称”错误地更改为“ image_to_upload”,然后将其更改回“名称”,并将丢失的'添加到工作的HTML代码中,并成功上传了图片。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.