问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

php如何实现上传图片文件,并替换

发布网友 发布时间:2022-04-23 21:01

我来回答

1个回答

热心网友 时间:2022-04-06 02:37

首先建立两个文件: change.html 和 change.php
change.html 文件的表单代码如下:
<html>
<head>
<title>change file example.</title>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="changefile.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
文件:
</td>
<td>
<input name="file" type="file" />
<input type="submit" name="submit" value="submit" />
</td>
</tr>
</table>
</form>
</body>
</html>

这里有几个要注意的地方,首先看这句<form method="post" action="change.php" enctype="multipart/form-data">,这里我们采用POST方法,个别浏览器还支持PUT方法,当然这需要对脚本进行修改,我并不建议这么做。表单中必须设置enctype="multipart/form-data,这样,服务器就知道上传文件带有常规表单信息,记住,这个是必须设置的。此外还需要一个隐藏域来*上传文件的最大长度:<input type="hidden" name="MAX_FILE_SIZE" value="2000000">,这里name必须设置成MAX_FILE_SIZE,其值就是上传文件的最大长度,单位是B,这里我*成2M。再看这句:<input name="file" type="file" value="浏览" >,type="file"说明了文件类型,这样一个基本的上传文件接口就完成了,接下来讲讲如何用PHP来处理上传的文件,此外你的php.ini中设置的上传文件最大长度可能会影响到你的实际上传,请根据实际情况修改,另PHP的上传是先传到临时目录,在移至指定目录的,了;临时目录的可根据需要修改,也可使用默认值……
以下为表单提交change.php文件代码,来看看这个文件都有什么:
<?php
header("content-type:text/html;charset=utf-8");

/**
* @param string $oldfile 需要更换的文件名(包含具体路径名)
*/
function changeFile($oldfile){
$newfile = $_FILES['file']['name'];//获取上传文件名
$fileclass = substr(strrchr($newfile, '.'), 1);//获取上传文件扩展名,做判断用
$type = array("jpg", "gif", "bmp", "jpeg", "png");//设置允许上传文件的类型
if(in_array(strtolower($fileclass), $type)){
if(file_exists($oldfile)){
unlink($oldfile);
}

if(is_uploaded_file($_FILES['file']['tmp_name'])){//必须通过 PHP 的 HTTP POST 上传机制所上传的
if(move_uploaded_file($_FILES['file']['tmp_name'], $oldfile)){
//输出图片预览
echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$oldfile'></center>";
}
}else{
echo "<center>上传失败,文件大于2M,请重新上传!</center>";
}
}else{
$text = implode(",", $type);
echo "<center>您只能上传以下类型文件:", $text, "</center><br>";
// echo "<script>alert('您只能上传以下类型文件:$text')</script>";
}
}

changeFile("./files/1.png");

刚看这些你可能有点晕~~,慢慢看,你就会发现其实这玩意SO EASY!!先讲下原理,该程序以上传图片为例,先判断文件类型是否为图片格式,若是则上传文件,接着上传文件到并替换指定文件,成功上传则输出上传的图片预览。这里要对程序中一些函数作些解释。先看substr(strrchr($newfile, '.'), 1), strrchar()函数有什么作用呢,我举个例子大家就知道,比如一个图片文件 pic.jpg,我们用 strrchar()处理,strrchr(pic.jpg,'.'),它将返回.jpg,明白了吗?该函数返回指定字符在该字符串最后出现的位置后的字符串。配合 substr() 我们就可以取到jpg,这样我们就得到了文件的后缀名,来判断上传文件是否符合指定格式。本程序把指定的格式放在一个数组中,实际使用时可根据需要添加。
接着,我们调用判断文件类型的函数,并将其转化为小写strtolower($_FILES['file']['name']),这里有个很关键的东东$_FILES ,这是个超级全局数组,保存了需要处理的表单数据,如果开启了register_globals,也可以直接访问,但这是不安全的。看刚才那个上传接口<input name="file" type="file">,根据这个表单名称,我们可以得到很多信息:
$_FILES['file']['name']-- 得到文件名称
$_FILES['file']['tmp_name']--得到临时存储位置
$_FILES['file']['size']--得到文件大小
$_FILES['file']['type']--得到文件MIME类型
得到这些信息,就可以轻松判断文件的信息了,是不是很方便?^_^,接下来还有一些函数需要了解,file_exists()--判断指定目录是否存在,不存在我们当然不能上传(好像是废话!),is_uploaded_file--判断文件是否已经通过HTTP POST上传,move_uploaded_file--将上传文件移至指定目录。成功上传,我们就输出预览,否则输出上传失败……
php中图片上传后要覆盖原来的文件夹的图片而不对数据库进行操作_百度知 ...

/*上传文件开始*/ f=&amp;$HTTP_POST_FILES['file'];dest_dir=""目录名称;//设定上传目录 dest=$dest_dir."/".文件名称";//设置文件名为日期加上文件名避免重复 r=move_uploaded_file($f['tmp_name'],$dest);//chmod($dest, 0755);//设定上传的文件的属性 /*上传文件结束*/ chmod那句...

PHP上传图片,并自动修改图片的大小

这个是可以的,用imagecopyresamled()处理之后就file_put_contents()保存替换原文件就可以了

php如何实现文件上传

echo "上传文件的临时存放路径是:".$tmp_name."";echo"开始移动临时文件".'';des_name = 'up/'.mt_rand().time().'.'.basename($type);res = move_uploaded_file($tmp_name, $des_name);if($res){ echo "===";echo "上传图片成功".'';} } ...

php如何使上传图片时修改图片的名字,希望有源代码,我的代码如下,希望大 ...

error=@$upfile["error"];if ($_FILES["tupian"]['error'] == UPLOAD_ERR_OK) { tmp_name = $_FILES["tupian"]["tmp_name"];name = $_FILES["tupian"]["name"];move_uploaded_file($tmp_name, "$name");//在这里进行文件改名 } echo '';switch($type){ case'image/pjpeg'...

在php中如何对已经上传的图片进行增删查改,并得到当前图片储存的...

php 上传图片,在数据库里存放的都是图片地址,对图片操作实际上就是数据库存放图片的地址进行增删改查的 操作;删除图片的话,可以用php 的 unlink 函数,先把数据的图片地址查询出来,用php查一下这个图片是否存在,存在的话,删除,改 就是 上传一个同名文件,把源文件覆盖 ...

怎样用php将一个图片文件改变名字复制到当前目录下:也就是复制后的图 ...

将文件从 source 拷贝到 dest。成功时返回 TRUE, 或者在失败时返回 FALSE.如; 假设当前上传的文件叫'1.jpg' 例子:&lt;?php$file = '1.jgp';$newfile = 'example.jpg;if (!copy($file, $newfile)) { echo "failed to copy $file...\n";}?&gt; 参考资料: http://cn.php.net/manual/zh/function....

PHP中怎样将上传的图片存入指定文件夹或目录,就说这个

jpg";if(move_uploaded_file($_FILES["magfile"]["tmp_name"], $uploaddir)) { echo "上传成功!";}else{ print_r($_FILES);} }第一个参数是上传到服务器临时文件夹的绝对路径,$_FILES['文件域名称']['tmp_name']第二个参数是需要放到服务器上的绝对路径+文件名。觉得好请采纳~...

thinkphp里上传的图片如何进行重命名,命名为自己想要的格式,它默认格式...

TP文档上说明有这个参数,saveRule保存规则:在使用的时候如果为空,那么将使用上传时候的名字,如下:不为空的时候可以选择手册上说的几种命名规则,不同的场景使用不同的方式,只要加个判断就可以了。如果同名需要覆盖原文件的话添加属性:$upload-&gt;uploadReplace = true;...

PHP上传图片并把图片地址写入表单中!

其实要保存上传的图片地址并不需要专门地一个input表单项,只要在这个form提交到的后台页面里面做相应处理即可。你可在后台的表单处理页面里面查找 move_uploaded_file() 这个函数,它的第一个参数是图片的临时文件名,第二个参数是即将保存的地址。只要把这第二个参数保存到数据库即可满足您的要求,并不...

php上传图片到数据库(php上传图片到数据库的方法)

PHP实现上传图片到数据库并显示输出的方法本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:1.创建数据表 CREATE TABLE ccs_image (id int(4)unsigned NOT NULL auto_increment,description varchar(250)default NULL,bin_data longblob,filename varchar(50)defaul...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
下列哪一项会使得J曲线效应更加突出?( ) 金融考研名词分享66—J曲线效应 J效应曲线J曲线效应 汽车补胎方式 一个人从五楼掉下去和从二楼掉下去有什么区别? 小米路由器DHCP服务未开启怎么办 从五楼跳下去,会发生什么情况? 养老保险跨省转移 统筹基金怎么转的 ...3米栽一棵,将剩下3棵树苗,若每隔2.5米栽一棵,则还... 独生女嫁出去谁来照顾父母? 用php写一个上传图片的程序 谢谢 php如何上传图片到数据库 PHP怎样上传图片以及预览图片? 用php上传图片怎么做? php怎样上传图片 php上传图片文件常用的几个方法 怎样用php实现上传图片到数据库 PHP 如何上传图片和文字? 现在钓青鱼用什么饵料好 天气冷钓青鱼用什么饵料? 钓大青鱼用什么饵料更合适 如何钓青鱼? 青鱼应该怎么钓? 春天钓青鱼用什么饵料好 2020年商场环境卫生经理年工作总结怎么写 一直开着低电量模式对手机有什么影响吗? 环保局信息中心工作岗位个人工作总结怎么写 调理肠胃最好的治疗方法是什么? 如何调理肠胃? 怎么在饮食上调理肠胃? PHP实现上传图片到数据库并显示输出的方法 用PHP实现图片上传到数据库 ODM与OEM的区别是什么啊? php为什么上传图片会失败 简单的PHP上传图片并且显示的问题, 什么是ODM?与OEM有什么区别? PHP上传图片并更改图片名 php上传图片到服务器的前端和php代码 PHP网站后台不能上传图片。 PHP中怎样将上传的图片存入指定文件夹或目录? 请帮忙解决PHP上传多图片,并在数据库写入文件路径的问题,谢谢!_百度知... php上传图片怎么删除没有用到的图片 php 上传图片 求插入数据库失败的问题 人流后的注意事项 人流后注意事项?人流后该注意什么? 流产后需要注意什么? 我和男朋友分手了,怎么缓解心情? 我和男朋友分手了,他会想我吗? 我和男朋友分手,他不愿意分怎么办 和男朋友分手了我很难受该怎么缓解自己的难受?
  • 焦点

最新推荐

猜你喜欢

热门推荐