Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Фильтрация расширения вложенного файла при отправке с сайта

Сообщения:  [1-10]   [11-15] 

 
 автор: Sasha   (24.03.2006 в 14:40)   письмо автору
 
   для: Sasha   (23.03.2006 в 19:04)
 

Аааа, помогите!

Оказывается после использования этого скрипта, передаваемые файлы остаются в папке с ним (копии), как можно сделать, чтоб после передачи они удалялися???

   
 
 автор: Sasha   (23.03.2006 в 19:04)   письмо автору
 
   для: Loki   (23.03.2006 в 18:52)
 

Изображение доходит, но полностью обрезается имя и расширение, вернее приходит файл имеющий имя как расширение. Тоесть отправляли фотку 22.jpg а приходит файл jpg

И без вложения письмо нехочет отправляться нивкакую. Говорит - неверный формат изображения.

   
 
 автор: Loki   (23.03.2006 в 18:52)   письмо автору
 
   для: Sasha   (23.03.2006 в 18:38)
 

обрезается что?

   
 
 автор: Sasha   (23.03.2006 в 18:38)   письмо автору
 
   для: Loki   (16.03.2006 в 22:36)
 

Странно, почему так обрезается....

   
 
 автор: Sasha   (22.03.2006 в 20:17)   письмо автору
 
   для: Trianon   (21.03.2006 в 16:18)
 

Так получилось, но не совсем. Изображение доходит, но полностью обрезается имя и расширение, вернее приходит файл имеющий имя как расширение. Тоесть отправляли фотку 22.jpg а приходит файл jpg

И без вложения письмо нехочет отправляться нивкакую. Говорит - неверный формат изображения.

   
 
 автор: Trianon   (21.03.2006 в 16:18)   письмо автору
 
   для: Sasha   (21.03.2006 в 15:27)
 

А так?

$path=substr(strrchr($_FILES['mail_file']['name'],"."), 1);
if(strcasecmp($path,'gif') && strcasecmp($path,'jpg'))
   exit("Неверный формат изображения");
else
   echo $_FILES['mail_file']['name']. " - файл с расширением $path";

   
 
 автор: Sasha   (21.03.2006 в 15:27)   письмо автору
 
   для: Trianon   (16.03.2006 в 19:30)
 

У меня ничего не работает :(((
Наверно я что-то подставляю не так, посмотрите :

<?php 
  $mail_to 
".....мыло....." 
  
$_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject'])); 
  
$_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg'])); 
  
$picture ""
  
// Если поле выбора вложения не пустое - закачиваем его на сервер 

$path=substr($_FILES['mail_file']['name'],strrchr($_FILES['mail_file']['name'],".")); 
if(
$path!='.gif' && $path!='.GIF' && $path!='.jpg' && $path!='.JPG'){ 
  exit(
"неверный формат111 изображения"); 

}
  if (!empty(
$_FILES['mail_file']['tmp_name'])) 
  { 
    
// Закачиваем файл 


    
if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture $path
  } 
  
$thm $_POST['mail_subject']; 
  
$msg $_POST['mail_msg']; 
  
// Отправляем почтовое сообщение 
  
if(empty($picture)) mail($mail_to$thm$msg); 
  else 
send_mail($mail_to$thm$msg$picture); 
  
// Вспомогательная функция для отправки почтового сообщения с вложением 
  
function send_mail($to$thm$html$path
  { 
    
$fp fopen($path,"r"); 
    if (!
$fp
    { 
      print 
"Файл $path не может быть прочитан"
      exit(); 
    } 
    
$file fread($fpfilesize($path)); 
    
fclose($fp); 
     
    
$boundary "--".md5(uniqid(time())); // генерируем разделитель 
    
$headers .= "MIME-Version: 1.0\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"
    
$multipart .= "--$boundary\n"
    
$kod 'koi8-r'// или $kod = 'windows-1251'; 
    
$multipart .= "Content-Type: text/html; charset=$kod\n"
    
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"
    
$multipart .= "$html\n\n"

    
$message_part "--$boundary\n"
    
$message_part .= "Content-Type: application/octet-stream\n"
    
$message_part .= "Content-Transfer-Encoding: base64\n"
    
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"
    
$message_part .= chunk_split(base64_encode($file))."\n"
    
$multipart .= $message_part."--$boundary--\n"

    if(!
mail($to$thm$multipart$headers)) 
    { 
      echo 
"К сожалению, письмо не отправлено"
      exit(); 
    } 
  } 
echo 
"Письмо отправлено"
?> 



Добавляю .gif вложение, и всё.
Стопориться - неверный формат111 изображения -

   
 
 автор: Loki   (16.03.2006 в 22:36)   письмо автору
 
   для: Sasha   (16.03.2006 в 18:50)
 

я иногда использую функцию getimagesize()
У нее элемент номер 2 - это тип файла. очень удобно:
1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM.

   
 
 автор: Trianon   (16.03.2006 в 19:30)   письмо автору
 
   для: Sasha   (16.03.2006 в 18:50)
 

<?
$path
=substr($_FILES['mail_file']['name'],strrchr($_FILES['mail_file']['name'],"."));
if(
$path!='.gif' && $path!='.GIF' && $path!='.jpg' && $path!='.JPG'){
  exit(
"неверный формат изображения");
?>

   
 
 автор: Sasha   (16.03.2006 в 18:50)   письмо автору
 
   для: Sasha   (15.03.2006 в 22:41)
 

Может возможно устроить проверку расширения как-то по другому?
Подскажите пожалуйста..

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования