PHP отправка почтовых вложений - PullRequest
2 голосов
/ 02 августа 2010

Я нашел сообщение о добавлении вложений в почту.Вопрос в том, как связать загруженный файл с этой функцией?Что я должен пройти?


UPD:

<code>echo '<pre>';
print_r($_FILES);
echo '
';$ uploads_dir = '/ uploads';// Ему нужны права $ tmp_name = $ _FILES ["vac_file"] ["tmp_name"];$ res = is_uploaded_file ($ tmp_name);// Это верно $ name = $ _FILES ["vac_file"] ["name"];move_uploaded_file ($ tmp_name, "$ uploads_dir / $ name");echo '$ tmp_name:'.$ tmp_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

Ответы [ 2 ]

4 голосов
/ 02 августа 2010

Используйте move_uploaded_file(), чтобы переместить файл во временную папку; прикрепите его к письму и затем удалите (или сохраните, что хотите).

Подробный пример см. В руководстве по PHP для загрузки файлов .

3 голосов
/ 02 августа 2010

Ваше полное решение должно выглядеть так:

1) HTML

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

2) myupload.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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...