html上传文件代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html上传文件代码相关的知识,希望对你有一定的参考价值。
复制直接能用的,我的是ubuntu,apache2
在html标准中,XMLHttpRequest对象被重新定义,被称为“XMLHttpRequest Level 2”,其中包含了以下5个新特性:
1、支持上传、下载字节流,比如文件、blob以及表单数据。
2、增加了上传、下载中的进度事件。
3、跨域请求的支持。
4、允许发送匿名请求(即不发送HTTP的Referer部分)。
5、允许设置请求的超时。
在这篇教程中,我们主要关注第一和第二项特性,尤其是第二项——它能够提供我们想要的上传进度。和之前的方案不同,这个方案并不要求服务器作出特殊的设置,因此大家边看教程就可以边动手试试了。
上面图示的就是我们能够实现的内容:
1、显示上传的文件信息,比如文件名、类型、尺寸。
2、一个能够显示真实进度的进度条。
3、上传的速度。
4、剩余时间的估算。
5、已上传的数据量。
6、上传结束后服务器返回的响应。
另外,凭借XMLHttpRequest,我们的上传过程整个都是异步的,因此用户在上传文件的时候,依然可以操作网页当中的其它元素,并不需要专门等待上传的完成。而在上传结束后,我们能够获取服务器发回的响应,因此整个上传过程都显得相当顺理成章。
html前端代码:
<html><body>
<form action="upload-file.php" method="post"
enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file" />
<br/>
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
如果是ubuntu上部署apache2,你应该是php开发者吧,action="upload-file.php
" 中的upload-file.php改为你自己的后端php接收文件的逻辑代码即可!
这里提供upload-file.php后端接收文件的代码:
if ($_FILES["file"]["error"] > 0)
echo "错误: " . $_FILES["file"]["error"] . "<br />";
else
echo "文件名: " . $_FILES["file"]["name"] . "<br />";
echo "类型: " . $_FILES["file"]["type"] . "<br />";
echo "大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
echo $_FILES["file"]["name"] . " 文件已经存在. ";
else
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "文件已经被存储到: " . "upload/" . $_FILES["file"]["name"];
?>
代码很简单,我相信你应该能看懂,这里的 文件夹 upload/ 需要你自己手动创建,请确保文件路径正取!
我也是web开发者,有问题可继续追问我!或是加我工作室QQ(540144097),在群里向我提问!有问必答,望采纳......
本回答被提问者和网友采纳Drupal创建自定义表单,上传文件代码
Drupal中创建自定义表单,用来上传文件,对上传文件做一些操作。以下是放在Module中的代码:
一、菜单建立表单路径
/** Implementation of hook_menu(). */ function moduleName_menu () { $items = array(); $items[‘admin/import‘] = array( ‘title‘ => ‘title‘, ‘page callback‘ => ‘drupal_get_form‘, ‘page arguments‘ => array(‘importform‘), ‘access callback‘ => TRUE, ‘type‘ => MENU_LOCAL_TASK, ‘context‘ => MENU_CONTEXT_INLINE, // 只在菜单里显示 ); return $items; }
二、生成表单
function importform($form, &$form_state) { $form = array(); $form[‘file‘] = array( ‘#type‘ => ‘file‘, ‘#title‘ => ‘题库模板文件‘, ‘#description‘ => "请上传题目录入文件, 允许的文件格式为: xlsx", ); $form[‘submit‘] = array( ‘#type‘ => ‘submit‘, ‘#value‘ => ‘导入‘, ); return $form; }
三、验证表单
function importform_validate($form, &$form_state) { $file = file_save_upload(‘file‘, array( ‘file_validate_extensions‘ => array(‘xlsx‘), )); if ($file) { if ($file = file_move($file, ‘public://‘)) { $form_state[‘values‘][‘file‘] = $file; } else { form_set_error(‘file‘, t(‘文件上传失败!‘)); } } else { form_set_error(‘file‘, t(‘没有文件被上传!‘)); } }
四、上传表单
function importform_submit($form, &$form_state) { $file=$form_state[‘values‘][‘file‘]; unset($form_state[‘values‘][‘file‘]); $file->status = FILE_STATUS_PERMANENT; file_save($file); //这边可以做一些逻辑事情 drupal_set_message(t(‘@filename 该文件已上传成功!‘, array(‘@filename‘ => $file->filename))); }
以上是关于html上传文件代码的主要内容,如果未能解决你的问题,请参考以下文章