求一php文件上传代码,需要获取到文件的路径。

如图,一个表单,其中有一项是实现缩略图上传。点击上传后得到文件路径。表单提交到另一个php页面以后得到文件路径,和其他项的值。难点在于上传怎么处理,外部已经有一个form... 如图,一个表单,其中有一项是实现缩略图上传。点击上传后得到文件路径。表单提交到另一个php页面以后得到文件路径,和其他项的值。 难点在于上传怎么处理,外部已经有一个form了。
给出相关的一些代码如下,可以直接在上面改。
------------表单页面add.php---------------
<html>
<head></head>
<body>
<form action="roomaction.php?action=insertRoom" method="post" enctype="multipart/form-data">
<table align="center" width="600" cellpadding="0" border="1" cellspacing="0">
<tr height="35" >
<td align="right">房间类型:</td>
<td><input type="text" name="rType"></td>
</tr>
<tr height="35" >
<td align="right">房间价格:</td>
<td><input type="text" name="rPrice"></td>
</tr>
<tr height="35" >
<td align="right">缩略图:</td>
<td><input type="file" name="rPicurl" id="rPicurl" style="height:21px;"/><input type="button" value="上传">
</td>
</tr>
<tr height="35">
<td colspan="2" align="center"><input type="submit" value="添加类型"></td>
</tr>
</table>
</form>
</body>
<html>
------------表单接受页面action.php--------------------
$action = $_GET["action"];
if($action == "insertRoom"){
$rType = $_POST["rType"];
$rPrice = $_POST["rPrice"];
$rPicurl = $_POST["rPicurl"];
echo $rpicurl;
echo "<br>";
echo $rType;
}
---------------文件上传处理页面upload.php----------------
<?php
//---------多图片上传----------
function getExtName($file){ //获得文件括展名
$ext = pathinfo($file);
print_r($ext);
return $ext["extension"];
}
function getNewName(){
$newName = date("YmdHis").md5(mt_rand(10000,45333));
return $newName;
}
$pic = $_FILES["userupload"]; //接收文件上传
foreach($pic as $key=>$val){
echo "{$key}=>";
print_r($pic[$key]); //打印数组
echo "<br>";
}
echo "**********<br>";
foreach($pic["name"] as $key=>$val){
echo $key."<br>"; //如果库key==0,则$pic[""][$key] 都是指向第一图片的
if($pic["error"][$key]==0){ //此时指向第一个文件
$newName = "upload/".getNewName().".".getExtName($pic["name"][$key]);
move_uploaded_file($pic["tmp_name"][$key],$newName); //把上传来的图片从临时位置移动到指定位置。
}
}
-文件上传处理页面upload.php
$pic = $_FILES["userupload"]; //接收文件上传
这句要改为$pic = $_FILES["rPrice"];
展开
 我来答
770691960
2011-12-01
知道答主
回答量:11
采纳率:0%
帮助的人:1.3万
展开全部
给你一个文件上传处理函数 很简单
//$name 文件名 $tmp_name文件临时名 $path文件存放路径 比如 $_FILES["rPrice"]['name'],$_FILES["rPrice"]['tmp_name'],"upload/" 函数返回的文件的路径
function upload($name,$tmp_name,$path,$allow='jpg,gif,png,bmp'){
//获取后缀名
$ext = explode('.',$name,2);
$exts = end($ext); //end()获得数组最后一个值
if(!stristr($allow,$exts)){
echo $allow,$exts;
echo '<h1>上传失败:你上传的文件类型暂不支持!</h1>';
exit;
}

//获取文件名,避免重名
$name = time().rand(1000,10000);

//深度分层,建立目录
$dir = date('Y/m/d');

$array = explode('/',$dir);

//一级级创建目录
foreach($array as $val){
$path = $path.$val.'/'; // 'attach/2010/11/15'
if(!is_dir($path)){ //is_dir()判断目录是否存在
mkdir($path); //mkdir()创建目录
}
}

move_uploaded_file($tmp_name,$path.$name.'.'.$exts);
return $dir.'/'.$name.'.'.$exts;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
havards
2011-12-01 · TA获得超过226个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:129万
展开全部
好混乱
你就是想打开一个网页,然后可以浏览文件位置,然后上传,再返回来上传文件的路径吗?
更多追问追答
追问
恩 是的 浏览文件位置--上传---再在文本框得到该文件的路径(文件名是函数处理后的新名称)
追答
没明白,你把这个上传文件在服务器上的位置返回到你这个文本框里面嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2d67591b5
2011-12-02 · TA获得超过152个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:91.8万
展开全部
你不是都有代码了么?
追问
是有了  但是还达不到所需的功能啊  。以上代码页面的第一个和第二个实现整个表单的接收。第二个和第三个实现文件的上传。但是三个页面不能连起来。先在第一个页面实现上传(要用到第三个页面,这里是关键),再post到第二个页面。
追答
第二个这样写
";
echo $rType;
$pic = $_FILES["rPicurl"]; //接收文件上传
foreach($pic as $key=>$val){
echo "{$key}=>";
print_r($pic[$key]); //打印数组
echo "";
}
echo "**********";
foreach($pic["name"] as $key=>$val){
echo $key.""; //如果库key==0,则$pic[""][$key] 都是指向第一图片的
if($pic["error"][$key]==0){ //此时指向第一个文件
$newName = "upload/".getNewName().".".getExtName($pic["name"][$key]);
move_uploaded_file($pic["tmp_name"][$key],$newName); //把上传来的图片从临时位置移动到指定位置。
}
function getExtName($file){ //获得文件括展名
$ext = pathinfo($file);
print_r($ext);
return $ext["extension"];
}
function getNewName(){
$newName = date("YmdHis").md5(mt_rand(10000,45333));
return $newName;
}
第三个不要了,合并了,可能变量名称会有错,自己调试下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式