您好我将以下内容保存为upload.php。
<html>
<head>
</head>
<body>
<?php
for($file_count = 0; $file_count <= count($_FILES['files']['tmp_name']); $file_count++){
echo '111111';
if( $_FILES['files']['error'][$file_count] == 0){
echo '2222222222';
$target_dir = "uploads/".time().$_FILES['files']['name'][$file_count];
echo '333333333333';
move_uploaded_file($_FILES['files']['tmp_name'][$file_count], $target_dir);
echo '4444444444444';
}
}
?>
<div>
<form method="post" name="upload_form" enctype="multipart/form-data"
action="">
<input type="file" name="files[]" enctype="form/multipart"> <input
type="submit" id="photo_upload" value="Upload Photo...">
</form>
<div id="contents">fggfgfg</div>
</div>
</body>
</html>
上传工作正常。 问题是当我启动页面时,我看到错误消息。 (无法上传截图以显示它们。)
为了避免它们,我尝试检查表单是否在post请求中设置如下: 如果(isset($ _ POST []))。
但是当我拥有上面的if块时,即使我选择并提交文件,其中的代码也不会被执行。
我怎样才能解决这个问题。
问题2:
有人可以指点我基于jquery的文件上传示例吗?我必须异步上传文件,因为页面上还有其他表单字段。
答案 0 :(得分:0)
您应该为您的提交元素指定name属性,将其更改为
<input type="submit" id="photo_upload" name="Submit" value="Upload Photo...">
然后像这样检查
if(isset($_POST['Submit']))
答案 1 :(得分:0)
答案1: 你可以检查post变量以及像
这样的文件对象if(isset($_FILES))
或使用POST时,您必须为提交按钮分配名称标签
像
<input type="submit" id="photo_upload" name="Submit" value="Upload Photo...">
答案2:对于异步上传的文件,您可以使用jquery文件上载程序,您可以在下面查看live demo
它非常易于使用和定制,因为我们需要。