html中input上传图片什么原理啊?php后台怎么处理?如果用ajax的话是传些什么?

html中input上传图片什么原理啊?php后台怎么处理?如果用ajax的话是传些什么?,第1张

用input上传图片是把图片作为文件传输的,在php后台中使用 $_FILES来接收。

注意:前端的form表单除了action ,method 属性外,还要添加一个'enctype'属性,否则文件传输不成功。

<form enctype="multipart/form-data">

              <input  type="file"    >

</form>

$_FILES接收信息 有几个属性:

          name ,   上传的文件名称

          size    ,    上传的文件大小

tmp_name  ,    临时路径

type  ,            文件类型

error                错误提示

error取值说明:

( 0:没问题。1/2:大小超过限制[ 1->超出php.ini限制。2->超出文件域max_file限制 ]。3:只上传部分附件(不好测试)。4:没有上传附件)

有上传信息时:$_FILES接收到的附件信息:

没有上传信息时:$_FILES接收到的附件信息:

保存附件:把上传的文件由临时路径保存到真实的图片存储的位置。

          move_uploaded_file(临时路径名附件,真实路径名附件)

把图片地址用php代码来代替就可以了。比如原本图片地址是<img src="images/1.jpg" />,数据库保存的是images/1.jpg,字段名是”images“。那么这边就改成<img src="<?php $row=['images']?>" />。

html表单部分要这样:

<form method="post" action="proAddFile.php" enctype="multipart/form-data" >

<input type="hidden" name="MAX_FILE_SIZE" value="6000000">

<input name="form_data" type="file">

php部分:

if(is_uploaded_file($_FILES['form_data']['tmp_name']))

{

$file=$_FILES['form_data']

$name=$file['name']

echo $type=$file['type']

$size=$file['size']

$tmpfile=$file['tmp_name'] //临时存放文件

$error=$file['error']

if($erro) die("上传出现错误")

if($size>60000) die("太大")

switch($type){ // 得到上传文件后缀

case 'image/pjpeg' : $extension='.jpg' //jpeg

break

。。。。

default:

echo "出现错误"

}

$filename="wt209_" . date("Ymdhis") . $extension

$myfile="your directory" . $filename

if(move_uploaded_file($tmpfile,$myfile)) echo "上传成功"

}

?>

may help for you ,great regard from kwl.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6114065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存