[Другое] Скрипт для Upload c уведомлением по e-mail

Тема в разделе "Open Source", создана пользователем HolodN, 9 фев 2009.

Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. HolodN

    HolodN Писатель

    Регистр.:
    3 янв 2009
    Сообщения:
    8
    Симпатии:
    1
    Народ а подскажите какой нибудь красивый и функциональный скрипт для загрузки любых файлов на сервер с уведомлением о закачке файле по e-mail:)
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    991
    Симпатии:
    267
    Пример реализации загрузки картинок на сервер.
    Код:
    <?
    $max_image_width	= 380;
    $max_image_height	= 600;
    $max_image_size		= 64 * 1024;
    $valid_types 		=  array("gif","jpg", "png", "jpeg");
    
    if (isset($_FILES["userfile"])) {
    	if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    		$filename = $_FILES['userfile']['tmp_name'];
    		$ext = substr($_FILES['userfile']['name'], 
    			1 + strrpos($_FILES['userfile']['name'], "."));
    		if (filesize($filename) > $max_image_size) {
    			echo 'Error: File size > 64K.';
    		} elseif (!in_array($ext, $valid_types)) {
    			echo 'Error: Invalid file type.';
    		} else {
     			$size = GetImageSize($filename);
     			if (($size) && ($size[0] < $max_image_width) 
    				&& ($size[1] < $max_image_height)) {
    				if (@move_uploaded_file($filename, "/www/htdocs/upload/")) {
    					echo 'File successful uploaded.';
    mail("nobody@example.com", "the subject", $message, 
         "From: webmaster@ example.com \r\n" 
        ."X-Mailer: PHP/" . phpversion()); // отправили письмо
    				} else {
    					echo 'Error: moving fie failed.';
    				}
    			} else {
    				echo 'Error: invalid image properties.';
    			}
    		}
    	} else {
    		echo "Error: empty file.";
    	}
    } else {
    	echo  '
    	<form enctype="multipart/form-data" method="post"> 
    	<input type="hidden" name="MAX_FILE_SIZE" value="64000"> 
    	Send this file: <input name="userfile" type="file"> 
    	<input type="submit" value="Send File"> 
    	</form>';
    }
    ?>
    Еще один прмер реализации, с использованием PEAR. Оригинальный пакет находится по адресу: Перейти по ссылке
    Код:
    <html><body>
    <form action="<?php echo $HTTP_SERVER_VARS['PHP_SELF'];?>?submit=1" 
    	method="post" enctype="multipart/form-data">
       Send these files:<br>
      <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
       
       <input name="userfile" type="file"> <-<br>
       <input name="otherfile[]" type="file"><br>
       <input name="otherfile[]" type="file"><br>
       <input type="submit" value="Send files">
    </form>
    </body></html>
    <?php
    error_reporting(E_ALL);
    if (!isset($submit)) {
        exit;
    }
    require 'HTTP/Upload.php';
    echo '<pre>';
    //print_r($HTTP_POST_FILES);
    $upload = new http_upload('es');
    $file = $upload->getFiles('userfile');
    if (PEAR::isError($file)) {
        die ($file->getMessage());
    }
    if ($file->isValid()) {
        $file->setName('uniq');
        $dest_dir = './uploads/';
        $dest_name = $file->moveTo($dest_dir);
        if (PEAR::isError($dest_name)) {
            die ($dest_name->getMessage());
        }
        $real = $file->getProp('real');
        echo "Uploaded $real as $dest_name in $dest_dir\n";
    } elseif ($file->isMissing()) {
        echo "No file selected\n";
    } elseif ($file->isError()) {
        echo $file->errorMsg() . "\n";
    }
    print_r($file->getProp());
    echo '</pre>';
    ?>
     
Статус темы:
Закрыта.