我不会乱用PHP,但我不明白这有什么问题。我在大约15分钟前使用了相同的代码,但现在它停止了工作。我没有改变任何东西,所以我有点困惑。
无论如何,这是一个表格,你应该提交截图,这是我的表格的代码,
<form method="post"
enctype="multipart/form-data">
<label for="file">Screenshot of them agreeing to terms:</label>
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>
我认为没有任何问题。这是处理所有这些的PHP(我认为/希望)
if(isset ($_POST['loanee'])) {
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$name = md5_file(sys_get_temp_dir() . $_FILES['tmp_name']);
move_uploaded_file(sys_get_temp_dir() . $_FILES["files"]['tmp_name'], "public_html/mc/images/{$name}.jpeg");
}
}
我没有得到任何回应,并且错误日志中没有出现任何错误,所以出了什么问题?
感谢您的帮助。
Loanee不是问题,因为我的sql数据库在图片被“上传”后正在更新,我没有把整个表格,因为其中一些有一些我认为不必要的信息,表格正如我之前所说的那样工作正常,对于那些不断告诉我loanee没有设置在表格中的人来说很抱歉。
答案 0 :(得分:1)
您不必使用sys_get_temp_dir()
。 $_FILES["files"]['tmp_name']
已经指向临时目录。
所以将代码更改为:
$name = md5_file($_FILES["file"]['tmp_name']);
move_uploaded_file($_FILES["file"]['tmp_name'], "public_html/mc/images/{$name}.jpeg");
修改:哦,您应该使用is_uploaded_file来检查文件是否已上传。
答案 1 :(得分:0)
我没有看到$_POST['loanee']
设置在哪里,但是需要设置它。否则,有趣的代码就会被跳过。
答案 2 :(得分:0)
在php脚本的第一行,检查应该来自HTML表单的loanee
变量,但表单中没有任何带有该名称的字段。
更具体:
if(isset ($_POST['loanee'])) { // That line does not correspond to any input element into your form
要解决您的问题,请删除该语句控件或使用该名称在表单中添加新字段。