Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка файла на сервер и отправка на почту (https://javascript.ru/forum/misc/50821-zagruzka-fajjla-na-server-i-otpravka-na-pochtu.html)

qwe88 12.10.2014 21:44

Загрузка файла на сервер и отправка на почту
 
Добрый день!
Подскажите, пожалуйста, как сделать форму с прикреплением нескольких файлов. Но что бы они загружались на сервер, а мне в письме приходили ссылки на них?

danik.js 12.10.2014 21:50

Слышал про сайт такой: google.ru ?

qwe88 12.10.2014 21:54

Не нашел ничего путного.
Много инфы как загрузить файл на сервер, но нет инструкции, как этот файл отправлялся в виде ссылок на почту

ruslan_mart 13.10.2014 05:09

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

kostyanet 13.10.2014 06:35

Текстом никаких проблем быть не должно. Включаете в тело письма ссылки на свою внутреннюю адресацию и все.

Гемор будет если делать html с тумбами, там с этими sid заколебешься. Я сделал так - в буфер валится обычный html который показывается юзеру после отправки сообщения, потом этот html модифицируется str_replace() по заранее сохраненным данным с sid'ами и туда же втыкаются стили предназначенные сугубо для оформления имейла.

kostyanet 13.10.2014 06:38

Цитата:

Сообщение от qwe88
Много инфы как загрузить файл на сервер, но нет инструкции, как этот файл отправлялся в виде ссылок на почту

Почта у вас уже отправляется или еще нет? Если отправляется то после записи файла из dir делается url, который и втыкается в a img.

qwe88 13.10.2014 11:08

Вот например код загрузки файла на сервак.
Что и куда нужно вставить, что бы приходила на почту ссылка на файл?
Цитата:

<?php
$uploaddir = $_SERVER['DOCUMENT_ROOT'] . '/assets/images/';

if ( $_FILES['photo']['size'] == 0 ){
return "face.jpg";
exit;
};

if ( !preg_match( '/\.(jpeg|jpg|gif)$/i', $_FILES['photo']['name'] ) ){
return "1";
exit;
};

if($_FILES['photo']['type'] != "image/gif" && $_FILES['photo']['type'] != "image/jpeg" ) {
return "1";
exit;
}

$imageinfo = getimagesize($_FILES['photo']['tmp_name']);
if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg') {
return "1";
exit;
}

if ( $_FILES['photo']['size'] > 40960 ){
return "2";
exit;
};

$basename = preg_replace( '/[^a-z\d]+/', '-', $_FILES['photo']['name'] );
$basename = sprintf( '%05d', rand( 1, 32767 ) ) . '-' . $basename;
$basename = preg_replace( '/\-([^\-]+)$/', ".$1", $basename );
$fileurl = '/assets/images/' . $basename;
$uploadfile = $uploaddir . $basename;

move_uploaded_file( $_FILES['photo']['tmp_name'], $uploadfile );
return $basename;
?>

kostyanet 13.10.2014 19:25

Ну а это что внатури? -

$fileurl = '/assets/images/' . $basename;

хотите меня попросить приделать вперде имя вашего домена со схемой? - Стоит 1200 руб с НДС.

kostyanet 13.10.2014 19:30

научитесь не делать пробелов в операциях конкатенации, иначе трудно понимать. Впрочем, может это не вы писали?

$fileurl = '/assets/images/'.$basename;

вот так делают, сразу видно что оно - вместе.

теперь к $fileurl надо приделать слева

$schema().$_SERVER['HTTP_HOST'];

а схема стоит 1200 с НДС :)

kostyanet 13.10.2014 19:33

При чем тут JS я не понял.

PS Наконец понял, у ТС практикуется порочная относительная адресация. Хотите узнать в чем ее порок? В том числе в том, что ТС за неделю не смог сообразить как приделать к ней схему и домен, чтобы получился URI, а не ХБЗ что.


Часовой пояс GMT +3, время: 17:59.