PHP: получить ввод и отправить как вложение в phpmailer

Я использую PHPMailer для отправки изображений в виде вложений в электронные письма.

Но это не работает, когда я делаю это:

$photo = $_GET['photo_send'];
$photo = realpath($photo); 
var_dump($photo);
$mail->AddAttachment($photo);         // Add attachments

Путь к изображению отображается в URL-адресе:

photo_send=images%2Ffullscreen%2F1.JPG%3Flol%3Dlol

Когда я помещаю путь прямо в AddAttachment, он работает.

Если кто подскажет или подскажет, буду очень признателен!


person designtocode    schedule 28.08.2013    source источник
comment
каков путь, откуда вы получаете изображения?   -  person chirag ode    schedule 28.08.2013
comment
Ваш путь не подходит. Поместите $photo = realpath($photo); var_dump($photo); между $phone = .. и $mail->....   -  person Glavić    schedule 28.08.2013
comment
@chiragode путь images/fullscreen/image.jpg   -  person designtocode    schedule 28.08.2013
comment
@ Главич, это все еще не работает   -  person designtocode    schedule 28.08.2013
comment
@msbodetti: что вывел var_dump?   -  person Glavić    schedule 28.08.2013
comment
@Glavic показывает это сообщение bool(false) Message has been sent и это в URL photo_send=images%2Ffullscreen%2F1.JPG%3Flol%3Dlol   -  person designtocode    schedule 28.08.2013
comment
Как я уже сказал, ваш путь не в порядке. Вот почему realpath() возвращает false.   -  person Glavić    schedule 28.08.2013
comment
Поставьте var_dump($photo); сразу после $_GET и расскажите нам, что там написано.   -  person Glavić    schedule 28.08.2013
comment
Там написано "images/fullscreen/1.JPG?lol=lol", но это не приходит в письме как вложение, хотя @Glavić   -  person designtocode    schedule 28.08.2013
comment
Ах, неважно! :) Это работает, мне просто нужно было удалить этот ?lol=lol. Добавьте свой ответ, и я приму!   -  person designtocode    schedule 28.08.2013
comment
Просто удалите вопрос ;-)   -  person Glavić    schedule 28.08.2013
comment
@ Главич Я пытался удалить его, но кто-то ответил ..   -  person designtocode    schedule 28.08.2013


Ответы (2)


Я уже говорил в комментариях, что ваш путь не подходит.

Вы сказали, что если вы выведете $photo сразу после $_GET, вы получите images/fullscreen/1.JPG?lol=lol

Когда вы обнаружили, что вам нужно удалить ?lol=lol, вы нашли проблему.

person Glavić    schedule 28.08.2013

попробуй это

$photo = images/fullscreen/$_GET['photo_send'];
$mail->AddAttachment($photo);       
person chirag ode    schedule 28.08.2013
comment
Но у photo_send есть images/fullscreen. Как вы думаете, это будет проблемой? - person designtocode; 28.08.2013
comment
тогда как насчет имени изображения? - person chirag ode; 28.08.2013