关于文件上传问题

rainlin1 2003-09-11 11:29:48
请问有没有什么办法能够实现文件的自动上传?例如传给一个页面一个图片的本地路径,这个页面就可以把图片上传到服务器上?
另外,请问怎么给file赋值?例如$img="路径" <input type="file" name="photo" value="<?echo $img?>">,为什么photo却是空值呢?
急,谢谢!
...全文
43 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
feel8 2003-09-12
  • 打赏
  • 举报
回复
自己怎么指定要上传什么图片?还是要 让用户选择的吧?
bflovesnow 2003-09-12
  • 打赏
  • 举报
回复
file对象基于浏览器安全性问题,它的value不能有默认值
而且基于同样道理也不能在客户端得到文件的大小
否则就是浏览器的露洞
当然你用其他方法如ActiveX、OCX来实现另当别论
rainlin1 2003-09-11
  • 打赏
  • 举报
回复
这个路径可不可以不让用户选择,而是直接指定好的?
blueoxygen 2003-09-11
  • 打赏
  • 举报
回复
什么叫用户不手工操作呢?
现在的图片上传至少需要用户选择一下本地路径把
http://www.mypcera.com/softxue/web/php.htm
rainlin1 2003-09-11
  • 打赏
  • 举报
回复
是的,有这个,但是我不希望用户手工操作,选择图片路径,而是直接给file付值,这样可以吗?或者有没有其他办法实现文件的上传?
feel8 2003-09-11
  • 打赏
  • 举报
回复
if($_FILES['upfile']['size'] == 0){
//$_FILES['upfile']['size'] 得到上传图片大小。
echo "请选择需要上传的图片";
}else{
//getimagesize函数返回数组变量,得到上传图片的相关信息.
//0是图片的长,1是图片的宽,2是图片的后缀名
$imageinfo=getimagesize($_FILES['upfile']['tmp_name']);
if($imageinfo[0] > 120 or $imageinfo[1] > 80){
echo "图片大小不符合标准";
}elseif($imageinfo[2] < 1 or $imageinfo[2] > 3){
echo "简介图片只能是GIF,JPG,PNG格式";
}
//$imageinfo[2] 的值得于1,表示是gif格式, 2是jpg格式,3是png
if($imageinfo[2] == 1){
$imageinfo[2] = ".gif";
}elseif($imageinfo[2] == 2){
$imageinfo[2] = ".jpg";
}else{
$imageinfo[2] = ".png";
}
//文件名:把时间和文件名的md5值组合,加上后缀得到文件名。
$imgname = date(YmdHis).substr(md5($fname),0,5).$imageinfo[2];
//复制上传图片至你的接收上传图片目录。此例中为$root/$set[flashimgdir]/$imgname
copy($_FILES['upfile']['tmp_name'], "$root/$set[flashimgdir]/$imgname");
}

guojunical 2003-09-11
  • 打赏
  • 举报
回复
参考一下:
/////////////////////////前台页面表单////////////////////////////

<form action="" method="post" enctype="multipart/form-data" name="form1">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr bgcolor="F5F8FF">
<td width="100" height="30">
<div align="right">名称:</div></td>
<td><input name="name" type="text" size="50"></td>
</tr>
<tr bgcolor="F5F8FF">
<td height="30">
<div align="right">文件:</div></td>
<td><input type="file" name="small_img">
</td>
</tr>
<tr bgcolor="F5F8FF">
<td colspan="2" valign="top" height="30"><div align="center">
<input type="hidden" name="act" value="add_intro">
<input type="submit" name="Submit" value="提交" class="sbttn">
 
<input type="reset" name="Submit2" value="重置" class="sbttn">
</div></td>
</tr>
<?
$sql="select * from gonggao order by add_time desc";
$mydb->query($sql);
while($mydb->next_record())
{
?>
<? }?>
</table>
</form>

/////////////////////////后台提交程序////////////////////////////
<?php
include("config.php");
include("check.php");
if($act=="add_intro")
{
if($small_img!="none" && $small_img!="")
{
$v=opendir("up_img");
$upfile=split("\.",$_FILES['small_img']['name']);
$numbers=count($upfile)-1;
$upfiletype=$upfile[$numbers];
$time=time();
$rand=rand(1000,1999);
$img_name1=$time.$rand.".".$upfiletype;
$up1=copy("$small_img","up_img/$img_name1"); //关键一步,将临时文件复制到up_img目录下
if($up1)
{
$img1=$img_name1;
unlink($small_img); //从临时文件夹中删除档案$img
closedir($v); //关闭目录handle
}
}
$query="insert into qikan(name,file) values('$name','$img1')";
if($mydb->query($query))
echo "<script>alert('提交成功!');window.open('qikan.php','main','')</script>";
}
?>
indeed 2003-09-11
  • 打赏
  • 举报
回复
form是这样写的吗?
<form name="form1" enctype="multipart/form-data" method="post" action="**.php">

特别注意:enctype="multipart/form-data"有这个吗?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧