| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Отправка файла на емайл |
| Автор: SergV 18.12.2008, 17:03 | ||||
| Привет. Опять я со старым замыленым вопросом по отправке файлов на емайл. Сразу говорю, просмотрел вроде всё что нашёл по теме, но проблему не решил. Проблема вот в чем, сделал очень большой форм ;) , и в ней надо было прикручивать файлы, что и сделал по одной найденной гдето тут форм. Всё хорошо, и на денвере файлы уходят, но при переносе на сервер, возникла проблема, файл прикрепляется но не отправляется. Пытался разобраться, и понял что файл вовсе копируется не в ту папку темп, которая зачемто автором скрипта создана рядом с файлом скрипта. Короче тот путь к тэмп папке, что получает скрипт, не может быть использован, сервер не даёт, а перенаправление на свою папку, не приводит к результату. Вроде как и принимает файл, но на отправке выдаёт пустую страницу, и не чего не отправляется. Вот код отправки
А это функция
Что не так, на локалке всё работает, файл прикрепляется, а на хосте не хочет? :( |
| Автор: bars80080 18.12.2008, 18:49 |
| а что у нас в $filename ? именно из xmail выведи, посмотри |
| Автор: SergV 19.12.2008, 13:40 | ||
Посмотреть не получилось, так как гсловие не выполняется, а я понять сразу не мог, так как для условия не сделал сообщение на ошибку. В саму функции передаётся правильно а именно tmp/text.txt, но условие не выполняется, хотя файл загружается в папку темп. Когда писал, думал что файл не грузится в темп папку, потому что этот мой FireFTP менеджер в лисе встроенный, не хочет показывать что добавилось не им, во время сессии. В общем файлы грузятся, но вот ошибка думаю лежит в этом, у меня на локалке в серверной папке темп, создаётся файлс с разрешением tmp, тоесть так: E:\tmp\ххххх.tmp так по крайней мере выводит $_FILES['FILE']['tmp_name'] А вот на сервере выводит так - /var/www/web33/phptmp/ххххх , без расширения, но тут я думаю это связано что это линукс система а не винда, но фиг его знает как должно на самом деле. И ещё, когда пробовал получит из функции $filename, я просто закомментировал "return @mail("$to", "$subj", $zag, $head);" и ввёл "return $filename;", и мне сразу выдало что письмо отправленно, тоесть условие сработало. Да вот, ещё, тут в функции не пойму, это ошибка или так и должно быть: chunk_split(base64_encode(fread($f,filesize($filename)))) Может так должно быть chunk_split(base64_encode(fread($filesize($filename)))) |