Конвертировать file_get_contents в $ _FILES - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть функциональность, которая будет получать пользовательский ввод и ввод файла в форме и отправлять его по электронной почте.Я использую этот код для захвата этих файлов:

$attachments_array = NULL;
foreach($_FILES as $userfile){
// store the file information to variables for easier access                               
    $tmp_name = $userfile['tmp_name'];
    $type = $userfile['type'];
    $name = $userfile['name'];
    $size = $userfile['size'];
    if($tmp_name != ""){
        $data=array(
            'tmpfname' => $tmp_name,
            'filename' => $name,
            'type' => $type,
        );
                $attachments_array[] = $data;                    
     }
 }

Итак, я получаю ввод файла пользователя и помещаю его в $attachments_array.Но что, если у меня есть фиксированный файл, расположенный где-то вроде:

https://www.myurl.com/A_Beginners_Guide_to_Outsourcing.pdf

Как передать это в массив вложений?Я пытаюсь:

$attachments_array[] = file_get_contents('https://www.myurl.com/A_Beginners_Guide_to_Outsourcing.pdf');

Но, кажется, не работает.Я хотел бы передать его в массив вложений, как переменная $data.

1 Ответ

0 голосов
/ 20 сентября 2018

file_get_contents только получает фактическое содержимое файла и возвращает его.

Вам потребуется создать ассоциативный массив и заполнить все используемые параметры самостоятельно, и, возможно, сохранить файл где-нибудь локально, в зависимости отКаковы дальнейшие шаги в обработке вашего файла.

$row = array();
$row['filename'] = 'A_Beginners_Guide_to_Outsourcing.pdf';
$row['type'] = "application/pdf"; // you might need some other method of getting a file type.
$tmp_path = "/my/tmp/path/".$row['filename'];
$body = file_get_contents('https://www.myurl.com/A_Beginners_Guide_to_Outsourcing.pdf');
file_put_contents($tmp_path, $body); // btw, be careful of what you save on your server..
$row['tmpfname'] = $tmp_path; 

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