2013-03-14 6 views
0

Я создаю приложение, которое позволяет пользователю присоединять файл, набирать сообщение, затем отправляется электронное письмо с помощью плагина PHP mailer для wordpress. Я использую javascript для получения информации о файлах из формы загрузки html, а затем php для отправки электронной почты. Плагин работает при отправке файла, который сохраняется на сервере в определенном месте с помощью этой функции:Отправка загруженного файла по электронной почте без сохранения его сначала

$mail->AddAttachment("./new6.txt","attachment"); 

мне было интересно, если есть способ отправить выбранный файл без сохранения его на сервер. Другими словами, может ли пользователь выбрать файл для загрузки, но отправить файл с помощью этой функции php, не сохраняя его в месте, которое нужно восстановить? Я знаю, что есть массив $ _FILES, который вы можете получить информацию о файле, но сможет ли этот файл быть отправлен без его сохранения где-то сначала? Я догадываюсь, что с тех пор, как весь смысл формы загрузки - «загрузить», но просто интересно, можно ли что-то сделать в javascript или что-то в этом роде.

Спасибо за любую помощь

ответ

1

Вы не можете действительно сделать это, но вы могли бы сделать это, чтобы получить крупный эффект:

$filename = $_FILES['file_name']['tmp_name']; 
$main->AddAttachment($filename, "attachment"); 

// Send the email... then: 
unset($filename); 

Это добавляет файл как вложение, отправляющий электронную почту, затем удаляет файл. Загруженные файлы в массиве $_FILES будут автоматически удалены, поэтому я не уверен, что часть unset() даже делает что-то существенное, но, безусловно, избавляется от файла.

+0

$ имя файла должно поступать с сервера, но не с клиентской машины. –

0

Без сохранения файла на сервере вы не можете прикреплять его для отправки по почте.

1> Mailing function is executing in Server. 
2> It is not possible from Server to get the absolute file path in client machine as in web, the client machines do not have any absolute address. 
3> So the file is needed to be uploaded in server to get a real path for the file to have in attachment of Mail. 
Смежные вопросы