CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

PHP上传文件问题,在线等

楼主papayo(papayo)2003-11-02 22:25:38 在 Web 开发 / PHP 提问

已经实现了有内容和需要上传文件混合情况下的页面    
  现在的问题是文件可以上传,可是怎么样才能把文件    
  名保存在数据库里呢?试了就是可以添加内容和上传    
  文件,就是不能把文件名保存在数据库,郁闷啊    
  是不是mysql字段类型设置错了?    
  BLOB类型等都试了就是存不进去    
  文件名是$pic_name    
  我还试了隐藏域,当不上传文件是$pic_name为空    
  当上传了文件$pic_name就是指向上传的文件名,可    
  还是存不进数据库哦,怎么解决?    
  没有办法了,西西 问题点数:0、回复次数:9Top

1 楼papayo(papayo)回复于 2003-11-02 22:38:21 得分 0

上传代码是  
  //上传文件开始  
  $updir   =   "doc";//指定目录名称  
   
  if(!is_dir($updir)){  
  mkdir($updir,   0777);     //若不存在,则创建目录  
  }  
  if   (!is_writeable($updir)){  
  echo   "$updir目錄不可寫!";   exit;  
  }  
  /**  
  |+-----------------------------------------------  
  | 上传图片  
  |+-----------------------------------------------  
  **/  
  $up_pic   =   $_FILES['pic'];  
  $pic_name   =   $up_pic['name'];  
  if   (!empty($pic_name))   {  
  if   (!is_uploaded_file($up_pic['tmp_name'])){  
  echo   "不能上傳   $pic_name";  
  exit();  
  }  
  $file_name=substr($pic_name,   -3);   //获取上存文件小点后的的文件名  
  $file_name_last=strtolower($file_name);     //将文件名改成小写  
  if($file_name_last!="zip"&&$file_name_last!="rar"&&$file_name_last!="doc"){  
  echo   "请输入zip,rar,doc三种格式的文件!";  
  exit();  
  }  
  $up_url=$updir."/".$pic_name;  
  if   (!move_uploaded_file($up_pic['tmp_name'],   $up_url)){   //上传样图  
  echo   "上傳文件失敗";  
  }  
  }  
  //上传文件结束  
  ?>  
   
  文件名想存进person数据库,sc字段,怎么实现?  
  sc字段需要是什么数据类型?Top

2 楼zhongmao(西风瘦马)回复于 2003-11-02 23:39:57 得分 0

sc字段需要是varchar数据类型  
   
  保存是普通内容一样保存  
   
  $strSql   =   "insert   person   (sc)   values(".$up_url.")";Top

3 楼mysam(小天下人)回复于 2003-11-03 08:06:15 得分 0

数据库存东西不好吧,你可以只将文件名存到数据库中,把文件复制到指定目录下。(COPY函数)Top

4 楼papayo(papayo)回复于 2003-11-03 09:35:28 得分 0

现在问题就是可以把文件复制到指定目录下,却不可以把文件名存到数据库里Top

5 楼papayo(papayo)回复于 2003-11-03 10:01:27 得分 0

代码:  
  <?php   require_once('Connections/person.php');   ?>  
  <?php  
  //上传文件开始  
  $updir   =   "doc";//指定目录名称  
   
  if(!is_dir($updir)){  
  mkdir($updir,   0777);     //若不存在,则创建目录  
  }  
  if   (!is_writeable($updir)){  
  echo   "$updir目錄不可寫!";   exit;  
  }  
  /**  
  |+-----------------------------------------------  
  | 上传图片  
  |+-----------------------------------------------  
  **/  
  $up_pic   =   $_FILES['pic'];  
  $pic_name   =   $up_pic['name'];  
  if   (!empty($pic_name))   {  
  if   (!is_uploaded_file($up_pic['tmp_name'])){  
  echo   "不能上傳   $pic_name";  
  exit();  
  }  
  $file_name=substr($pic_name,   -3);   //获取上存文件小点后的的文件名  
  $file_name_last=strtolower($file_name);     //将文件名改成小写  
  if($file_name_last!="zip"&&$file_name_last!="rar"&&$file_name_last!="doc"){  
  echo   "请输入zip,rar,doc三种格式的文件!";  
  exit();  
  }  
  $up_url=$updir."/".$pic_name;  
  if   (!move_uploaded_file($up_pic['tmp_name'],   $up_url)){   //上传样图  
  echo   "上傳文件失敗";  
  }  
  }  
  //上传文件结束  
   
  function   GetSQLValueString($theValue,   $theType,   $theDefinedValue   =   "",   $theNotDefinedValue   =   "")    
  {  
      $theValue   =   (!get_magic_quotes_gpc())   ?   addslashes($theValue)   :   $theValue;  
   
      switch   ($theType)   {  
          case   "text":  
              $theValue   =   ($theValue   !=   "")   ?   "'"   .   $theValue   .   "'"   :   "NULL";  
              break;          
          case   "long":  
          case   "int":  
              $theValue   =   ($theValue   !=   "")   ?   intval($theValue)   :   "NULL";  
              break;  
          case   "double":  
              $theValue   =   ($theValue   !=   "")   ?   "'"   .   doubleval($theValue)   .   "'"   :   "NULL";  
              break;  
          case   "date":  
              $theValue   =   ($theValue   !=   "")   ?   "'"   .   $theValue   .   "'"   :   "NULL";  
              break;  
  case   "file":  
              $theValue   =   ($theValue   !=   "")   ?   "'"   .   $pic_name   .   "'"   :   "NULL";  
              break;  
          case   "defined":  
              $theValue   =   ($theValue   !=   "")   ?   $theDefinedValue   :   $theNotDefinedValue;  
              break;  
      }  
      return   $theValue;  
  }  
   
  $editFormAction   =   $HTTP_SERVER_VARS['PHP_SELF'];  
  if   (isset($HTTP_SERVER_VARS['QUERY_STRING']))   {  
      $editFormAction   .=   "?"   .   $HTTP_SERVER_VARS['QUERY_STRING'];  
  }  
   
  if   ((isset($HTTP_POST_VARS["MM_insert"]))   &&   ($HTTP_POST_VARS["MM_insert"]   ==   "form1"))   {  
      $insertSQL   =   sprintf("INSERT   INTO   person   (xm,   xb,   xy,   zy,   nj,   bbs,   ss,   dh,   ff,   xq,   lb,   jy,   jh,   sc)   VALUES   (%s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s,   %s)",  
                                                GetSQLValueString($HTTP_POST_VARS['xm'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['xb'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['xy'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['zy'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['nj'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['bbs'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['ss'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['dh'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['ff'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['xq'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['lb'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['jy'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['jh'],   "text"),  
                                                GetSQLValueString($HTTP_POST_VARS['sc'],   "file"));  
   
      mysql_select_db($database_person,   $person);  
      $Result1   =   mysql_query($insertSQL,   $person)   or   die(mysql_error());  
   
      $insertGoTo   =   "index.php";  
      if   (isset($HTTP_SERVER_VARS['QUERY_STRING']))   {  
          $insertGoTo   .=   (strpos($insertGoTo,   '?'))   ?   "&"   :   "?";  
          $insertGoTo   .=   $HTTP_SERVER_VARS['QUERY_STRING'];  
      }  
      header(sprintf("Location:   %s",   $insertGoTo));  
  }  
  ?>Top

6 楼ipman(.NET)回复于 2003-11-04 00:41:37 得分 0

不懂帮你upTop

7 楼caaclxf(有人说我的名字很长)回复于 2003-11-04 10:16:17 得分 0

可以用$_FILES['upload_file']['name'][0]取得文件名Top

8 楼luxuezhu(csdn完善你的blog吧)回复于 2003-11-04 12:52:22 得分 0

mark  
  Top

9 楼hcfyxy(无名)回复于 2003-11-04 13:09:14 得分 0

你把取到的文件名打印出来看看啊,只要取到这个值,就一定可以存进数据库的。Top

相关问题

  • 关于PHP上传文件
  • 用php上传文件
  • PHP 文件上传问题
  • PHP做文件上传的问题----在线等待!!
  • 关于php 文件上传错误的问题!!!! [100分 在线急等]
  • PHP文件上传系统的问题!!!!
  • php如何上传大文件?
  • PHP可否通过SSH传输文件?
  • PHP 上传文件类型有哪些?
  • PHP 上传大文件的问题

关键词

  • 文件名
  • 文件
  • 字段
  • 数据库
  • 数据
  • 内容
  • updir
  • pic
  • 上传
  • 保存

得分解答快速导航

  • 帖主:papayo

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo