已有40人关注
PHP项目开发全程实录第八章求助
发表在PHP图书答疑 2009-09-01
是否精华
版块置顶:
在练习第八章博客系统中,添加的图片除了上传时间能正常显示外,其他的都不能正常显示,图片上是一个红叉子,author没有显示。在源码里也没有找到上传图片的文件夹,对应的图片也没找到。请教明日科技的老师。
分享到:
精彩评论 4
lzh
学分:0 LV1
2009-09-01
沙发
您上传的图片太大
dgwz2004
学分:0 LV1
2009-09-01
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
您上传的图片太大
[/FIELDSET]

回复:
  
我用最小的图片测试是显示不出来,特把图片添加两个页面的源代码add_pic.php、tptj_ok.php发上来,请教明日科技的老师。

add_pic.php


  <form  name="myform" method="post" action="tptj_ok.php"  enctype="multipart/form-data">
  <table width="450" border="1" cellpadding="3" cellspacing="1" bordercolor="#D6E7A5">
                      <tr>
                        <td class="i_table" colspan="2">&nbsp;<span class="tableBorder_LTR">添加图片</span></td>
                      </tr>
                      <tr>
                        <td valign="top" align="right" width="28%">图片名称:<br></td>
                        <td width="72%"><input name="tpmc" type="text" id="tpmc" size="40"></td>
                      </tr>
                      <tr>
                        <td align="right" width="28%">上传路径:</td>
                        <td width="72%"><input name="file" type="file" size="23" maxlength="60" >

</td>
                      </tr>
                      <tr align="center">
                        <td colspan="2"><input name="btn_tj" type="submit" id="btn_tj" value="提交" onClick="return pic_chk();">                          &nbsp;
                          <input name="btn_cx" type="reset" id="btn_cx" value="重写"></td>
                        </tr>
                  </table>
  </form>



tptj_ok.php




<?php
session_start();
include "check_login.php";
include "Conn/conn.php";
if($_POST["btn_tj"]=="提交"){

   $tpmc=htmlspecialchars($tpmc);         //将图片名称中的特殊字符转换成HTML格式
   $tpmc=str_replace("\n","<br>",$tpmc);  //将图片名称中的回车符以自动换行符取代
   $tpmc=str_replace("","&nbsp;",$tpmc);  //将图片名称中的空格以"&nbsp;"取代
   $author=$_SESSION["username"]; 
   $scsj=date("y:m:d");                   //设置图片的上传时间               

   $profix = array(".jpg",".gif",".jpeg",".bmp");     //设置允许上传的文件后缀类型
   $f_name = $_FILES['file']['name'];                     //取得要上传的文件名
   $pro_name=substr($f_name,strrpos($f_name,"."));    //取得上传文件的后缀
   /* 判断上传文件的类型是否为允许类型  */
   if(!in_array(strtolower($pro_name), $profix)){
       echo "<script>alert('文件格式不对');history.go(-1);</script>";
       exit();
   }
   /* 判断上传文件的大小,如果文件过大,提示错误 */
   if(($_FILES['file']['size'] <= 0) or ($_FILES['file']['size'] >500000)){
     echo "<script>alert('文件上传错误,或文件大于500K,请重新上传');history.go(-1)</script>";
     exit();
   }
   else{
   $fp=fopen($file,"r");  //以只读方式打开文件
   $file=addslashes(fread($fp,filesize($file)));      //将文件中的引号部分加上反斜线
   $query="insert into tb_tpsc (tpmc,file,author,scsj) values ('$tpmc','$file','$author','$scsj')";
//创建插入图片数据的SQL语句
   $result=mysql_query($query);
   echo "<meta http-equiv=\"refresh\" content=\"1;url=browse_pic.php\">图片上传成功,请稍等...";
}
}
?>

346827366
学分:0 LV1
2009-09-02
地板
您好:

    请将代码addslashes(fread($fp,filesize($file)))中的$file改写为$_POST[file]。

    然后重新运行,看是否能够上传;
dgwz2004
学分:0 LV1
2009-09-05
4L
改过了,上传后图片不能正常显示,提示是这样的:
warning: fread(): supplied argument is not a valid stream resource in D:\WWW\08\tmlog\tptj_ok.php on line 28 图片上传成功,请稍等。。。麻烦老师看看。
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照