我有一个脚本:
if(isset($_FILES['image'])){
$errors = array();
$allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
$file_name = $_FILE['image']['name'];
$file_ext = strtolower(end(explode('.', $file_name)));
$file_size = $_FILE['image']['size'];
$file_tmp = $_FILE['image']['tmp_name'];
if(in_array($file_ext, $allowed_ext) === false){
$errors[] = 'Extension not allowed';
}
if($file_size > 2097152){
$errors[] = 'file size must be under 2mb';
}
if(empty($errors)){
if(move_uploaded_file($file_tmp, "../../img/usr/profile/.$file_name")){
echo 'File uploaded';
}
}else{
foreach($errors as $error){
echo $error, '<br>';
}
}
}
它不起作用。它应该将图像上传到某个目录。这是html:
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="submit" value="Update Info">
</form>
当我点击提交时,屏幕顶部显示“不允许扩展”的错误。 html和php在同一个文件中(我刚给你一个小片段。)我的代码有什么问题吗?谢谢!
答案 0 :(得分:6)
要访问这些文件,您必须使用$_FILES
变量。
在您的代码中,您有时使用$_FILE
,这不起作用;)