仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 797|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP实例法式:完成给上传图片加水印图案...

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:02:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不过还好,PHP语言给出的语法错误很详细,只要稍微熟悉一点之后,看错误提示就能很容易找出错误所在的。PHP还有一个特别好用的调试功能,在PHP语句中,你可以随时用echo来输出结果。   <form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <table width="486" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="498" height="28" background="image/top.gif"><div align="center" class="style2">上传图片</div></td>
    </tr>
    <tr>
      <td> </td>
    </tr>
    <tr>
      <td><div align="right">
        <table width="426" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td width="50" height="32" nowrap="nowrap">途径:</td>
            <td width="362"><input name="upfile" type="file" id="upfile" size="40" /></td>
          </tr>
         
          <tr>
            <td height="27" colspan="2"><div align="center">
                <input type="submit" name="Submit" value="提交" />
  
<input type="reset" name="Submit" value="重置" />
</div></td>
          </tr>
        </table>
          </div>
        <div align="center"></div></td>
    </tr>
    <tr>
      <td> </td>
    </tr><INPUT TYPE="hidden" name='action' value='doup'>
    <tr>
      <td height="28" background="image/top.gif"> </td>
    </tr>
    <tr>
      <td> </td>
    </tr>
  </table>
</form>
<br>
<A href=http://www.webjx.com target=_blank>网页教授教养网webjx.com</A>
<?
if($_POST['action']=='doup')
{
$uptypes=array('image/jpg','image/jpeg','image/pjpeg','image/gif');//上传图片文件类型列表
$wFile=$_FILES['upfile'];//获得文件途径
$waterimg="water.gif";//水印图片途径
//print_r($wFile);
if(in_array($wFile['type'], $uptypes))
{//反省文件类型,若上传的文件为jpg或gif图片则加水印
   if(strstr($wFile['type'],"jp"))
    { //若上传图片类型为jpg,pjpeg,jpeg,则用imagecreatefromjpeg读取方针文件
    $im = imageCreatefromjpeg($wFile['tmp_name']);
$wfilew=imagesx($im);//获得图片的宽
$wfileh=imagesy($im);//获得图片的高
   }
   else
    {//不然若上传图片类型为gif,则用imagecreatefromgif读取方针文件
    $im = imageCreatefromgif($wFile['tmp_name']);
$wfilew=imagesx($im);//获得图片的宽
$wfileh=imagesy($im);//获得图片的高
}
   //设定夹杂形式
    imagealphablending($im, true);
    //读取水印文件
    $im2 = imagecreatefrompng($waterimg);//若水印图片为jpg,则此去可改成$im2 = imagecreatefromjpeg($waterimg)
//$white = imagecolorallocate($im2, 255, 255, 255);
  // imagecolortransparent($im2,$white);   //设通明色,这两句可不要
$waterw=imagesx($im2);//获得水印图片的宽
$waterh=imagesy($im2);//获得水印图片的高
    //随机放水印到图片中
$randval = rand(0,9);//在0-9之间发生随机数
if($randval==0||$randval==3||$randval==2||$randval==8||$randval==7){//此处还可完美放更多地位
$wimgx=5;$wimgy=5;//放左上角
}else{
$wimgx=$wfilew-5-$waterw;$wimgy=$wfileh-5-$waterh;//放右上角
}
//拷贝水印到方针文件
imagecopy($im, $im2, $wimgx, $wimgy, 0, 0, $waterw,$waterh);
   
//输入图片
   if(strstr($wFile['type'],"jp")){ //同上
imagejpeg($im,$wFile['tmp_name']);
}else{
imagegif($im,$wFile['tmp_name']);
}
    imagedestroy($im);
    imagedestroy($im2);
copy($wFile['tmp_name'],$wFile['name']);  //上传
}
else echo "图片不合适!!";
}
?>exit来实现结束后面的PHP语句的执行,缩小调试范围,特别是数据库交互的程序,先输出个SQL语句看看,对了,再分析怎么会插入/删除不成功呢?这样对查错很有帮助。
爱飞 该用户已被删除
沙发
发表于 2015-2-5 21:53:39 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
透明 该用户已被删除
板凳
发表于 2015-2-11 08:16:45 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
海妖 该用户已被删除
地板
发表于 2015-2-24 02:42:19 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
第二个灵魂 该用户已被删除
5#
发表于 2015-3-14 23:39:51 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
再见西城 该用户已被删除
6#
发表于 2015-3-15 14:36:36 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
因胸联盟 该用户已被删除
7#
发表于 2015-3-16 15:42:22 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-22 04:16:26 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
分手快乐 该用户已被删除
9#
发表于 2015-3-25 10:07:50 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
乐观 该用户已被删除
10#
发表于 2015-3-28 08:48:50 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-30 05:46:48 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
老尸 该用户已被删除
12#
发表于 2015-4-14 14:30:01 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
飘飘悠悠 该用户已被删除
13#
发表于 2015-4-21 17:16:24 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
蒙在股里 该用户已被删除
14#
发表于 2015-4-26 09:10:36 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
愤怒的大鸟 该用户已被删除
15#
发表于 2015-4-30 04:14:08 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
小女巫 该用户已被删除
16#
发表于 2015-5-3 04:55:44 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
再现理想 该用户已被删除
17#
发表于 2015-5-3 11:39:24 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
深爱那片海 该用户已被删除
18#
发表于 2015-5-6 02:10:46 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
柔情似水 该用户已被删除
19#
 楼主| 发表于 2015-6-10 07:46:52 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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