注意是不是全局变量的问题
提交的文件要用数组$_FILE来访问的

解决方案 »

  1.   

    if (is_uploaded_file($_FILES['file']['tmp_name'])) {
            $img = file_get_conetent($_FILES['file']['tmp_name']);
                    $img=addslashes($img);
                //将$img存数据库(二进制或text)
     
            
        }
      

  2.   

    出错提示是文件不存在,应是没有打开资源或打开失败,echo一下看看
    每一步都echo 下就知道了
      

  3.   

    $fp=fopen($file,"r");      //以只读方式打开文件 应该使者依据的问题
    $file并不是一个临时文件的地址
    看看下面的说明: $_FILES['userfile']['name']
    客户端机器文件的原名称。$_FILES['userfile']['type']
       文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。$_FILES['userfile']['size']
      已上传文件的大小,单位为字节。$_FILES['userfile']['tmp_name']
    文件被上传后在服务端储存的临时文件名。$_FILES['userfile']['error'] 
    和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。 你应该使用$_FILES['userfile']['tmp_name'],这才是在服务器上存在的临时文件的路径
      

  4.   

    <?php
    include("../up_pic/conn/conn.php");
    if($_POST['sc'] != "")
    {
        $tpmc=htmlspecialchars($_POST['tpmc']);      //将图片名称中的特殊字符转换成HTML格式
        $tpmc=str_replace("\n"," <br>",$tpmc);      //将图片名称中的回车符以自动换行符取代
        $tpmc=str_replace("","&nbsp;",$tpmc);      //将图片名称中的空格以"&nbsp;"取代
        $scsj=date("y:m:d");          //设置图片的上传时间
        $tmp_name = $_FILES['file']['tmp_name'];
        $fp=fopen($tmp_name,"r");      //以只读方式打开文件
        $file=addslashes(fread($fp,filesize($tmp_name)));      //将文件中的引号部分加上反斜线
        $query="insert into tb_tpsc (tpmc,file,scsj) values ('$tpmc','$file','$scsj')";    //创建插入图片数据的sql语句
        $result=mysql_query($query);
        echo " <meta http-equiv=\"refresh\" content=\"10;url=t5.php\">图片上传成功,请稍等...";
    }?>