本文目录一览:
- 1、怎么通过HTML+PHP上传文件到服务器?
- 2、html上传文件代码
- 3、求html多文件上传代码 可参考以下代码
- 4、写一个html+php代码,实现客户基本信息提交以及支持客户上传图片,并且我可以在自己的独立服务器中查知
- 5、html网页上传文件的完整代码
- 6、求实现php文件上传代码
怎么通过HTML+PHP上传文件到服务器?
HTML代码:
body
form action="" method="post" enctype="multipart/form-data" name="upload_form"
label选择图片文件/label
input name="imgfile" type="file" accept="image/gif, image/jpeg"/
input name="upload" type="submit" value="上传" /
/form
/body
PHP代码:
if (isset($_FILES['imgfile'])
is_uploaded_file($_FILES['imgfile']['tmp_name']))
{
$imgFile = $_FILES['imgfile'];
$upErr = $imgFile['error'];
if ($upErr == 0)
{
$imgType = $imgFile['type']; //文件类型。
/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
if ($imgType == 'image/jpeg'
|| $imgType == 'image/gif')
{
$imgFileName = $imgFile['name'];
$imgSize = $imgFile['size'];
$imgTmpFile = $imgFile['tmp_name'];
/*
将文件从临时文件夹移到上传文件夹中。
注意:upfile这个文件夹必须先创建好,不然会报错。
*/
move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);
/*显示上传后的文件的信息。*/
$strPrompt = sprintf("文件%s上传成功br"
. "文件大小: %s字节br"
. "img src='upfile/%s'"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "请选择jpg或gif文件,不支持其它类型的文件。";
}
}
else
{
echo "文件上传失败。br";
switch ($upErr)
{
case 1:
echo "超过了php.ini中设置的上传文件大小。";
break;
case 2:
echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
break;
case 3:
echo "文件只有部分被上传。";
break;
case 4:
echo "文件未被上传。";
break;
case 5:
echo "上传文件大小为0";
break;
}
}
}
else
{
}
html上传文件代码
在HTML标准中,XMLHttpRequest对象被重新定义,被称为“XMLHttpRequest Level 2”,其中包含了以下5个新特性:
1、支持上传、下载字节流,比如文件、blob以及表单数据。
2、增加了上传、下载中的进度事件。
3、跨域请求的支持。
4、允许发送匿名请求(即不发送HTTP的Referer部分)。
5、允许设置请求的超时。
在这篇教程中,我们主要关注第一和第二项特性,尤其是第二项——它能够提供我们想要的上传进度。和之前的方案不同,这个方案并不要求服务器作出特殊的设置,因此大家边看教程就可以边动手试试了。
上面图示的就是我们能够实现的内容:
1、显示上传的文件信息,比如文件名、类型、尺寸。
2、一个能够显示真实进度的进度条。
3、上传的速度。
4、剩余时间的估算。
5、已上传的数据量。
6、上传结束后服务器返回的响应。
另外,凭借XMLHttpRequest,我们的上传过程整个都是异步的,因此用户在上传文件的时候,依然可以操作网页当中的其它元素,并不需要专门等待上传的完成。而在上传结束后,我们能够获取服务器发回的响应,因此整个上传过程都显得相当顺理成章。
求html多文件上传代码 可参考以下代码
从技术角度看,你只需要在input控件中标注multiple标签就够了
以下就是演示代码:
!DOCTYPE html
html
head
title
Solution 4-5: Sending multiple files
/title
/head
body
form id="myForm"
fieldset
legendSolution 4-5: Sending multiple files/legend
labelUpload one or more files:/label
input type="file" name="multipleFileUpload" multiple /
/fieldset
/form
/body
/html
重要心得
用户选择的多个文件传递到服务端后将会被服务端的编程语言去处理的。有些编程语言,比如PHP需要你为name标签的字符添加方括号来支持传输多个文件。
1input name="filesUploaded[]" type="file" multiple /
这样,PHP将构造一个数据类型的数组,来容纳一个个上传到服务器的文件。相反如果你在HTML标签中不适用方括号的话,PHP将仅仅只接受到最后一个文件。
写一个html+php代码,实现客户基本信息提交以及支持客户上传图片,并且我可以在自己的独立服务器中查知
写入数据库乱码?很简单的
1在php页面的head之间加入meta http-equiv="Content-Type" content="text/html; charset=utf-8"
2在php代码链接数据库之后加一行
mysql_select_db('数据库名'); //选择数据库之后
mysql_query("SET NAMES UTF8");
目的是保持页面和数据库编码一致
html网页上传文件的完整代码
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后端接收文件的代码:
?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) . " Kbbr /";
}
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),在群里向我提问!有问必答,望采纳......
求实现php文件上传代码
PHP上传文件非常简单,你需要一个上传的HTML文件(FORM),一个保存文件的PHP文件(保存),一个查询上传文件清单的工具。
真正实现完整功能的上传和管理需要使用数据库,我的网站俱乐部里面上传文件一开放很快就传了几万个文件。
最简单的方法不用数据库,可以用一个PHP文件实现,这个文件列出指定目录下的所有文件,然后提供一个上传的FORM,最后检测是否提交了FORM数据,是就保存文件到指定位置。
PHP手册第39章有关于处理这些问题的说明,我复制粘贴如下:
上一页 V. 特点 下一页
--------------------------------------------------------------------------------
第 39 章 文件上传处理
目录
POST 方法上传
错误信息说明
常见缺陷
上传多个文件
对 PUT 方法的支持
POST 方法上传
本特性可以使用户上传文本和二进制文件。用 PHP 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
PHP 能够接受任何来自符合 RFC-1867 标准的浏览器(包括 Netscape Navigator 3 及更高版本,打了补丁的 Microsoft Internet Explorer 3 或者更高版本)上传的文件。
相关的设置: 请参阅 php.ini 的 file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size 以及 max_input_time 设置选项。
请注意 PHP 也支持 PUT 方法的文件上传,Netscape Composer 和 W3C 的 Amaya 客户端使用这种方法。请参阅对 PUT 方法的支持以获取更多信息。
例 39.1. 文件上传表单
可以如下建立一个特殊的表单来支持文件上传:
!-- The data encoding type, enctype, MUST be specified as below --
form enctype="multipart/form-data" action="__URL__" method="POST"
!-- MAX_FILE_SIZE must precede the file input field --
input type="hidden" name="MAX_FILE_SIZE" value="30000" /
!-- Name of input element determines name in $_FILES array --
Send this file: input name="userfile" type="file" /
input type="submit" value="Send File" /
/form
以上范例中的 __URL__ 应该被换掉,指向一个真实的 PHP 文件。
MAX_FILE_SIZE 隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP 也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP 设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
注意: 要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了。
全局变量 $_FILES 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此数组包含有所有上传的文件信息。
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 userfile。名称可随意命名。
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。
文件被上传后,默认地会被储存到服务端的默认临时目录中,除非 php.ini 中的 upload_tmp_dir 设置为其它的路径。服务端的默认临时目录可以通过更改 PHP 运行环境的环境变量 TMPDIR 来重新设置,但是在 PHP 脚本内部通过运行 putenv() 函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。
例 39.2. 使文件上传生效
请查阅函数 is_uploaded_file() 和 move_uploaded_file() 以获取进一步的信息。以下范例处理由表单提供的文件上传。
?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo 'pre';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "/pre";
?
接受上传文件的 PHP 脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用 $_FILES['userfile']['size'] 变量来排除过大或过小的文件,也可以通过 $_FILES['userfile']['type'] 变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在 PHP 端并不检查。自 PHP 4.2.0 起,还可以通过 $_FILES['userfile']['error'] 变量来根据不同的错误代码来计划下一步如何处理。不管怎样,要么将该文件从临时目录中删除,要么将其移动到其它的地方。
如果表单中没有选择上传的文件,则 PHP 变量 $_FILES['userfile']['size'] 的值将为 0,$_FILES['userfile']['tmp_name'] 将为空。
如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。
例 39.3. 上传一组文件
PHP 的 HTML 数组特性甚至支持文件类型。
form action="" method="post" enctype="multipart/form-data"
pPictures:
input type="file" name="pictures[]" /
input type="file" name="pictures[]" /
input type="file" name="pictures[]" /
input type="submit" value="Send" /
/p
/form
?php
foreach ($_FILES["pictures"]["error"] as $key = $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "data/$name");
}
}
?
--------------------------------------------------------------------------------
上一页 上一级 下一页
38. 处理 XForms 起始页 错误信息说明