QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1035|回复: 3

文件上传的脚本

[复制链接]
发表于 2003-12-10 14:11:25 | 显示全部楼层 |阅读模式
create table Image
(ImageNum int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Image MEDIUMBLOB,FileSize CHAR(50),FileType CHAR(50));


-------------------------------------------------
<?
  if($_POST[OK]=="OK")
  {
   @mysql_connect("localhost","root","password") or die("无法连接数据库");
   @mysql_select_db("php_test") or die("无法连接数据库");
   $data=addslashes(fread(fopen($image,"r"),filesize($image)));
   $filesize=filesize($image);
   $filetype=filetype($image);
   $result=mysql_query("INSERT INTO Image (Image,FileSize,FileType)  VALUES($data,$filesize,$filetype)");
  }
?>
   

<HTML>
<HEAD>
<TITLE>文件上传</TITLE>
</HEAD>
<BODY>
&lt;FORM METHOD=POST ACTION=""&gt;
请选择文件:<INPUT TYPE=FILE NAME="image" SIZE=40>
&lt;P&gt;
<INPUT TYPE="SUBMIT" NAME="OK" VALUE="OK">
<INPUT TYPE="RESET" NAME="RESET" VALUE="RESET">
&lt;/FORM&gt;
&lt;HR&gt;
</BODY>
&lt;/HTML&gt;

-----------------------------------------------------------------------------------
&lt;?
  @mysql_connect("localhost","root","password") or exit();
  @mysql_select_db("php_test") or exit();
  $result=mysql_query("SELECT Image,FileType  FROM Image");
  $date=mysql_result($result,0,"Image");
  $type=mysql_result($result,0,"FileType");
header("content-type:$type");
echo $data;
?&gt;
请高手看看有问题吗,谢谢!!
发表于 2003-12-10 17:21:48 | 显示全部楼层
应该是不行……

1、FORM 缺少一个参数,是哪个我忘了……
2、没看见有copy()函数,你想怎么复制文件?

请你重发一遍,用 [code][/code] 包起来……
回复

使用道具 举报

发表于 2003-12-11 01:36:50 | 显示全部楼层
你的脚本过程都正确了.语法问题自己找吧.PHP语法快忘完了.

我找到了原来写的一个上传到mysql数据库的一个脚本.可以实现文件的上传入库和读取输出(Under GNU/Linux).方法参考一下,具体到实际再根据你的情况自己改啦.
[code:1]
create table if not exists image&#40;
  id      bigint&#40;20&#41; not null,
  data            blob       not null,
  filesize        bigint     not null,
  filetype        char&#40;10&#41;,
  memo            varchar&#40;255&#41;,
  primary key &#40;id&#41;
&#41;;
[/code:1]
节选一部分PHP,原文件比较长
[code:1]
............
&lt;form enctype=&quot;multipart/form-data&quot; action=&quot;xxxxx.php&quot; method=&quot;post&quot;&gt;
............
    &lt;tr&gt;
      &lt;td&gt;
        &lt;div align=&quot;right&quot;&gt;图象文件&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;input type=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;3000000&quot;&gt;
        &lt;input type=&quot;file&quot; name=&quot;userfile&quot;&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
.............
[/code:1]
下面是入库文件节选
[code:1]
.............
    if &#40;!&#40;empty&#40;$_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;&#41;&#41;&#41; &#123;
      $filename=$_FILES&#91;'userfile'&#93;&#91;'name'&#93;;
      $path_parts=pathinfo&#40;$filename&#41;;
      $filetype=$path_parts&#91;'extension'&#93;;
      $filename=$_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;;
      $data=addslashes&#40;fread&#40;fopen&#40;&quot;$filename&quot;, &quot;r&quot;&#41;, filesize&#40;$filename&#41;&#41;&#41;;
      $sqlquery=&quot;insert into image &#40;id,data,filesize,filetype&#41; values &#40;&quot;.$id.&quot;,'$data',&quot;.filesize&#40;$filename&#41;.&quot;,'&quot;.$filetype.&quot;'&#41;&quot;;
      $queryresult=mysql_query&#40;$sqlquery&#41;
        or die&#40;&quot;Invalid query&#58; &quot;.mysql_error&#40;&#41;&#41;;
    &#125;
.............
[/code:1]
最后是取出了
[code:1]
.............
      $sqlquery1=&quot;select data,filetype from image where id=&quot;.$row&#91;'id'&#93;;
      $queryresult1=mysql_query&#40;$sqlquery1&#41;
        or die&#40;&quot;Invalid query&#58; &quot;.mysql_error&#40;&#41;&#41;;
      if &#40;$row1=mysql_fetch_array&#40;$queryresult1&#41;&#41; &#123;
        $filetype=$row1&#91;'filetype'&#93;;
        $data=$row1&#91;'data'&#93;;
        $filename=$imagepath.&quot;temp_&quot;.$i++.&quot;.&quot;.$filetype;
            if &#40;!$handle=fopen&#40;$filename,'wb'&#41;&#41; &#123;
              die&#40;&quot;Could not open $filename&quot;&#41;;
            &#125;
            if &#40;!fwrite&#40;$handle,$data&#41;&#41; &#123;
              die&#40;&quot;Could not write $filename&quot;&#41;;
            &#125;
        fclose&#40;$handle&#41;;
        echo &quot;&lt;td&gt;&lt;img src=images/&quot;.basename&#40;$filename&#41;.&quot;&gt;&lt;/td&gt;&quot;;
      &#125; else &#123;
          echo &quot;&lt;td&gt;No image&lt;/td&gt;&quot;;
        &#125;
.............
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2003-12-11 13:35:12 | 显示全部楼层
谢谢各位,上次忘了把html关了,造成大家阅读不便,再此感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 23:17 , Processed in 0.070529 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表