【问题标题】:PHP sending mail attachmentsPHP发送邮件附件
【发布时间】:2011-03-24 02:58:37
【问题描述】:

我找到了关于向邮件添加附件的post。问题是如何将上传的文件与该功能连接起来?我必须通过什么?


更新:

echo '<pre>';
print_r($_FILES);
echo '</pre>';

$uploads_dir = '/uploads'; // It has need rights

$tmp_name = $_FILES["vac_file"]["tmp_name"];
$res = is_uploaded_file($tmp_name); // This is true
$name = $_FILES["vac_file"]["name"];

move_uploaded_file($tmp_name, "$uploads_dir/$name");
echo '$tmp_name: '. $tmp_name . '; $name: ' . $name;

Array
(
    [vac_file] => Array
        (
            [name] => LFS.desktop
            [type] => application/octet-stream
            [tmp_name] => /tmp/phpV417nF
            [error] => 0
            [size] => 226
        )

)

yeah!
Warning: move_uploaded_file(/uploads/LFS.desktop): failed to open stream: No such file or directory in /srv/http/vacancies_attachment.php on line 47 Warning: move_uploaded_file(): Unable to move '/tmp/phpV417nF' to '/uploads/LFS.desktop' in /srv/http/vacancies_attachment.php on line 47 $tmp_name: /tmp/phpV417nF; $name: LFS.desktop

【问题讨论】:

    标签: php upload email attachment


    【解决方案1】:

    使用move_uploaded_file() 将文件移动到临时位置;从那里将其附加到邮件中,然后将其删除(或保留它,无论您想做什么)。

    有关详细示例,请参阅PHP manual on file uploads

    【讨论】:

    • 我尝试这样做并得到了错误。你能看看更新的帖子吗?
    • @Ockonal 你确定/uploads 存在吗?在根目录下?
    • 哦,我忘记了路径中的点。 './uploads' 效果很好。感谢您的提示。
    【解决方案2】:

    您的完整解决方案应如下所示:

    1) html

    <form method="post" action="myupload.php">
    <input type="file" name="uploaded_file" />
    <input type="submit" />
    </form>
    

    2) 我的上传.php

    <?php
    $uploads_dir = '/uploads';
    foreach ($_FILES["uploaded_file"]["error"] as $key => $error) {
        if ($error == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES["uploaded_file"]["tmp_name"][$key];
            $name = $_FILES["uploaded_file"]["name"][$key];
            move_uploaded_file($tmp_name, "$uploads_dir/$name");
        }
    }
    ?>
    

    取自http://php.net/manual/en/function.move-uploaded-file.php

    【讨论】:

    • 该代码用于多个文件。我重写了它以满足我的需要。你能看看更新的帖子吗?
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    相关资源
    最近更新 更多