Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
12
返回列表 发新帖
楼主: devilbat
打印 上一主题 下一主题

contact us form正常发送,但是附件没有被upload和显示在email里头?

 关闭 [复制链接]

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

11#
发表于 2009-9-26 09:35 PM |只看该作者

回复 #10 devilbat 的帖子



回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

12#
发表于 2009-9-26 09:48 PM |只看该作者
原帖由 devilbat 于 2009-9-26 09:22 PM 发表
这个是simpeform.php的内容

        private function declareHeaders()
        {
                $this->szHeaders  = 'From: ' .  $this->aSettings['szFromEmail'] . "\r\n";
                $this->szHeaders .= 'Reply-To: ' .$this->aSettings['szFromEmail'] . "\r\n" . 'X-Mailer: PHP/' .phpversion();
        }
        



注意看看你的 header 沒定義 Content-type, Content-Disposition 等的 header, 所以就算你在 Form submit 甚麼檔案也沒用


回复

使用道具 举报

14

主题

39

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

13#
发表于 2009-9-27 04:28 PM |只看该作者
实验后还在找寻答案。。。所以先用php.com那里看到的基本的东西做了另外一个

希望大家帮我看看这个东西的几个问题:
第一个就是:该加什么才可以指定上传的图片是随机名字的呢?
第二个就是:我的图片如果要直接显示出来,是要在$message的内容那里加<img src="xxx">吗?那么该怎样让message跑html的格式呢?

以下是代码:

  1. <?php
  2. //checks if the form has been submitted
  3. if(isset($_POST['submit']))
  4. {
  5. for($i=0;$i<sizeof($_FILES['userfile']['name']);$i++){       
  6. //upload directory where the file will be stored
  7. $uploaddir = $_SERVER['DOCUMENT_ROOT'] .'/special/model/form/mimages/';

  8. $uploadfile = $uploaddir . basename($_FILES['userfile']['name'][$i]);

  9. $uploadfiles = basename($_FILES['userfile']['name'][$i]);

  10. list($width, $height, $type, $attr) =
  11. getimagesize($_FILES['userfile']['tmp_name'][$i]);

  12. if (file_exists($uploadfile)) {
  13. //print error message
  14. echo $uploadfiles;
  15. echo "- file already exists";
  16. die();  
  17. } else {
  18. echo "The file $uploadfiles does not exist<BR>";
  19. }


  20. if ($width > 1024 || $height > 800)
  21. {
  22. //print error message
  23. echo "Maximum allowed size is 1024x800 pixels";
  24. die();
  25. }


  26. if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile)) {
  27.     echo "<BR>Image Uploaded Successfully!<BR><BR>";

  28. echo "<BR>Image Width: ";
  29. echo $width;
  30. echo "<BR>Image Height: ";
  31. echo $width;
  32. echo "<BR>Image type: ";
  33. echo $type;
  34. echo "<BR>Attribute: ";
  35. echo $attr;
  36. echo "<BR>";
  37. } else {
  38. //print error message
  39. echo "<BR>File was not successfully uploaded<BR><BR>";  
  40. die();
  41. }
  42. $filename[i] = $uploaddir . basename($_FILES['userfile']['name'][$i]);
  43. echo $filename[i];
  44. }

  45. }



  46. $name = $_REQUEST['name'] ;
  47. $nickname = $_REQUEST['nickname'] ;
  48. $age = $_REQUEST['age'] ;
  49. $ic = $_REQUEST['ic'] ;
  50. $adds = $_REQUEST['adds'] ;
  51. $race = $_REQUEST['race'] ;
  52. $email = $_REQUEST['email'] ;
  53. $phone = $_REQUEST['phone'] ;
  54. $to = "devilbat87@gmail.com";
  55. $subject = "Test mail";

  56. $message = "
  57. Name:$name". "\r\n"."Nickname:$nickname"."\r\n"."Model Picture:"."Picture 01:"."\r\n"."http://www.seasonblog.com.my/special/model/form/mimages/" . $_FILES["userfile"]["name"][0]."\r\n".
  58. "Picture 02:"."http://www.seasonblog.com.my/special/model/form/mimages/" .$_FILES["userfile"]["name"][1]."\r\n".
  59. "Picture 03:"."http://www.seasonblog.com.my/special/model/form/mimages/" .$_FILES["userfile"]["name"][2];

  60. $headers='MIME-Version: 1.0' . "\r\n";
  61. $headers .= 'Content-type: text/html;charset=iso-8859-1' . "\r\n";

  62. $from = "$email - Be A Seasonblog Models!";
  63. $headers = "From: $from". "\r\n";



  64. mail($to,$subject,$message,$headers);
  65. echo "Mail Sent.";
  66. ?>
复制代码


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

14#
发表于 2009-9-27 07:52 PM |只看该作者
原帖由 devilbat 于 2009-9-27 04:28 PM 发表
实验后还在找寻答案。。。所以先用php.com那里看到的基本的东西做了另外一个

希望大家帮我看看这个东西的几个问题:
第一个就是:该加什么才可以指定上传的图片是随机名字的呢?
第二个就是:我的图片如果 ...



你這只是在寫上傳而不是附件, 而上傳的部份圖片要如何更改檔名就需要在這里下手
$uploadfile = $uploaddir . basename($_FILES['userfile']['name'][$i]);


只是把信件内容使用 html 的話,请注意你的 header 必须定义 Content-type 并指定为 text/html
學習的时候請详细看看每個指令的說明和應用,编程不是依样画葫芦而需要了解納為己用


回复

使用道具 举报

14

主题

39

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

15#
发表于 2009-9-28 09:58 AM |只看该作者
原帖由 Super-Tomato 于 2009-9-27 07:52 PM 发表



你這只是在寫上傳而不是附件, 而上傳的部份圖片要如何更改檔名就需要在這里下手
$uploadfile = $uploaddir . basename($_FILES['userfile']['name'][$i]);


只是把信件内容使用 html 的話,请注意你 ...

昨天试验用了$randFilename = uniqid("img_");
来加随机名字~成功了
谢谢你的帮助!

对了,不知道大家知道怎么js验证多个<input type="file">吗?
好奇想知道
因为昨天在google reserch很久。。大多数的资料都没有个所以来
验证一个file我学会了
但是有array的多个file就不知道了


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

16#
发表于 2009-9-28 10:27 AM |只看该作者
原帖由 devilbat 于 2009-9-28 09:58 AM 发表

昨天试验用了$randFilename = uniqid("img_");
来加随机名字~成功了
谢谢你的帮助!

对了,不知道大家知道怎么js验证多个吗?
好奇想知道
因为昨天在google reserch很久。。大多数的资料都没有个所以来 ...



这很簡單啊,因为你没了解物件属性,所以就不會变通使用

例子 :
<html>
<head>
<title>Super-Tomato Input verification</title>
<script type="text/javascript">
    function verify()
    {
        var uploadfile = document.getElementsByName("filename[]");
        var uploadnum = 0;
        for(var x=0; x<uploadfile.length; x++)
        {
            if(uploadfile[x].value != "")
            {
                uploadnum++;
                alert("File " + (x+1) + " : " + uploadfile[x].value);
            }
        }
        
        if(uploadnum)
            return true;
        else
        {
            alert("No upload file.");
            return false;
        }
    }
</script>
<body>
<form action="" method="post" onSubmit="return verify()" >
File 1 : <input type="file" name="filename[]" /><br />
File 2 : <input type="file" name="filename[]" /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>

[ 本帖最后由 Super-Tomato 于 2009-9-28 12:21 PM 编辑 ]


回复

使用道具 举报

14

主题

39

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

17#
发表于 2009-9-28 12:11 PM |只看该作者
原帖由 Super-Tomato 于 2009-9-28 10:27 AM 发表



这很簡單啊,因为你没了解物件属性,所以就不會变通使用

例子 :


hmm....不是很了。。。。研究下

那个
if(uploadfile[x].value != "")
            {
                uploadnum++;
                alert("File " + (x+1) + " : " + uploadfile[x].value);
            }
是怎么跑的?
不是很明白uploadnum这一个环节

现在我是先用submit过去后的php那里验证有没有附件。。没有就提示错误页 - -感觉不是很理想


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

18#
发表于 2009-9-28 12:20 PM |只看该作者
原帖由 devilbat 于 2009-9-28 12:11 PM 发表


hmm....不是很了。。。。研究下

那个
if(uploadfile[x].value != "")
            {
                uploadnum++;
                alert("File " + (x+1) + " : " + uploadfile[x].value);
      ...


自己先想想為何我要用 getElementsByName, 而這個 method 會回傳些甚麼資料


p/s: 複製上面的 html 去測試, 注解方面我不寫就留給你明白後自己填上

[ 本帖最后由 Super-Tomato 于 2009-9-28 12:23 PM 编辑 ]


回复

使用道具 举报

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

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-27 12:28 AM , Processed in 0.104735 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部