在尝试允许用户将其图像上传到我的网站时,我这样做了
<li>
<label for="pic">Image</label>
<input type="hidden" name="MAX_FILE_SIZE" value="<?=$max; ?>">
<input type="file" name="user[pic]" id="pic">
<li>
然后在注册控制器中,我这样做了(沮丧之后,只是为了确保成功上传),并且确实起作用了……
$file = $_FILES['user']['pic']['name'] . time() . $_SERVER['REMOTE_ADDR'] . '.jpeg';
//$user['pic'] = $file;
//$destination = 'C:/me/ijdb/Project/public/imgs/';
$filename = 'C:\me\ijdb\Project\public\imgs\\' . $file;
if (!is_uploaded_file($_FILES['user']['pic']['tmp_name']) or !copy($_FILES['user']['pic']['tmp_name'], $filename)){
$valid = false;
$errors[] = "Could not save file as $filename!";
}
NB:仅提取图像部分,因为它不起作用,我认为我必须使用$_FILES['user']['pic']['tmp_name']
来提取或获取必要的信息,就像$user['username']
这样的纯文本(将会得到什么在用户名textarea中。)
拜托,谁能帮助我完成操作?
表单标签属性显示在下面
<form id="theForm" method="post" action="" accept-charset="utf8" enctype="multipart/form-data">
<li>
<label for="firstName">Firstname</label>
<input name="user[firstName]" id="firstName" type="text" value="<?=$user['email'] ?? ''?>" autofocus required>
</li>
<li>
<label for="lastNane">Your lastname</label>
<input name="user[lastName]" id="lastName" type="text" value="<?=$user['lastName'] ?? ''?>">
</li>
又添加了两个字段。我使用这种样式来获取控制器中所有的用户输入,而简短的$user['firstName']
版本将得到$user[fistName']
的值