1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

class.upload.php

Тема в разделе "PHP, Perl, web-программирование", создана пользователем JoLTiy, 28 май 2007.

  1. JoLTiy

    JoLTiy Новичок

    Регистрация:
    26 май 2007
    Сообщения:
    46
    Симпатии:
    13
    Баллы:
    0
    class.upload.php
    Один из лучших готовых классов для загрузки файлов на сервер, очень большие возможности
    http://joltiy.ifolder.ru/2157936

    PHP:
    Create a file called upload.php:
     * <
    pre>
     *  
    $handle = new upload($_FILES['image_field']);
     *  if (
    $handle->uploaded) {
     *      
    $handle->file_new_name_body   'image_resized';
     *      
    $handle->image_resize         true;
     *      
    $handle->image_x              100;
     *      
    $handle->image_ratio_y        true;
     *      
    $handle->process('/home/user/files/');
     *      if (
    $handle->processed) {
     *          echo 
    'image resized';
     *          
    $handle->clean();
     *      } else {
     *          echo 
    'error : ' $handle->error;
     *      }
     *  }
     * </
    pre>
     *
     * <
    b>Processing parameters</b> (reseted after each process)
     * <
    ul>
     *  <
    li><b>file_new_name_body</breplaces the name body (default: '')<br>
     *  <
    pre>$handle->file_new_name_body 'new name';</pre></li>
     *  <
    li><b>file_name_body_add</bappends to the name body (default: '')<br>
     *  <
    pre>$handle->file_name_body_add '_uploaded';</pre></li>
     *  <
    li><b>file_new_name_ext</breplaces the file extension (default: '')<br>
     *  <
    pre>$handle->file_new_name_ext 'txt';</pre></li>
     *  <
    li><b>file_safe_name</bformats the filename (spaces changed to _) (default: true)<br>
     *  <
    pre>$handle->file_safe_name true;</pre></li>
     *  <
    li><b>file_overwrite</bsets behaviour if file already exists (default: false)<br>
     *  <
    pre>$handle->file_overwrite true;</pre></li>
     *  <
    li><b>file_auto_rename</bautomatically renames file if it already exists (default: true)<br>
     *  <
    pre>$handle->file_auto_rename true;</pre></li>
     *  <
    li><b>auto_create_dir</bautomatically creates destination directory if missing (default: true)<br>
     *  <
    pre>$handle->auto_create_dir true;</pre></li>
     *  <
    li><b>dir_auto_chmod</bautomatically attempts to chmod the destination directory if not writeable (default: true)<br>
     *  <
    pre>$handle->dir_auto_chmod true;</pre></li>
     *  <
    li><b>dir_chmod</bchmod used when creating directory or if directory not writeable (default: 0777)<br>
     *  <
    pre>$handle->dir_chmod 0777;</pre></li>
     *  <
    li><b>file_max_size</bsets maximum upload size (default: upload_max_filesize from php.ini)<br>
     *  <
    pre>$handle->file_max_size '1024'// 1KB</pre></li>
     
    *  <li><b>mime_check</bsets if the class check the MIME against the {@link allowed} list (default: true)<br>
     *  <
    pre>$handle->mime_check false;</pre></li>
     *  <
    li><b>mime_magic_check</bsets if the class uses mime_magic (default: false)<br>
     *  <
    pre>$handle->mime_magic_check true;</pre></li>
     *  <
    li><b>no_script</bsets if the class turns scripts into test files (default: true)<br>
     *  <
    pre>$handle->no_script false;</pre></li>
     *  <
    li><b>allowed</b> array of allowed mime-types (default: check {@link Init})<br>
     *  <
    pre>$handle->allowed = array('application/pdf','application/msword');</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_convert</b> if setimage will be converted (possible values ''|'png'|'jpeg'|'gif'; default: '')<br>
     *  <
    pre>$handle->image_convert 'jpg';</pre></li>
     *  <
    li><b>jpeg_quality</bsets the compression quality for JPEG images (default: 85)<br>
     *  <
    pre>$handle->jpeg_quality 50;</pre></li>
     *  <
    li><b>jpeg_size</b> if set to a size in byteswill approximate {@link jpeg_qualityso the output image fits within the size (default: NULL)<br>
     *  <
    pre>$handle->jpeg_size 3072;</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_resize</bdetermines is an image will be resized (default: false)<br>
     *  <
    pre>$handle->image_resize true;</pre></li>
     * </
    ul>
     *  
    The following variables are used only if {@link image_resize} == true
     
    * <ul>
     *  <
    li><b>image_x</bdestination image width (default: 150)<br>
     *  <
    pre>$handle->image_x 100;</pre></li>
     *  <
    li><b>image_y</bdestination image height (default: 150)<br>
     *  <
    pre>$handle->image_y 200;</pre></li>
     * </
    ul>
     *  Use 
    either one of the following
     
    * <ul>
     *  <
    li><b>image_ratio</b> if trueresize image conserving the original sizes ratiousing {@link image_x} AND {@link image_y} as max sizes if true (default: false)<br>
     *  <
    pre>$handle->image_ratio true;</pre></li>
     *  <
    li><b>image_ratio_crop</b> if trueresize image conserving the original sizes ratiousing {@link image_x} AND {@link image_y} as max sizes, and cropping excedent to fill the spacesetting can also be a stringwith one or more from 'TBLR'indicating which side of the image will be kept while cropping (default: false)<br>
     *  <
    pre>$handle->image_ratio_crop true;</pre></li>
     *  <
    li><b>image_ratio_fill</b> if trueresize image conserving the original sizes ratiousing {@link image_x} AND {@link image_y} as max sizesfitting the image in the space and coloring the remaining spacesetting can also be a stringwith one or more from 'TBLR'indicating which side of the space the image will be in (default: false)<br>
     *  <
    pre>$handle->image_ratio_fill true;</pre></li>
     *  <
    li><b>image_ratio_no_zoom_in</bsame as {@link image_ratio}, but won't resize if the source image is smaller than {@link image_x} x {@link image_y} (default: false)<br>
     *  <pre>$handle->image_ratio_no_zoom_in = true;</pre></li>
     *  <li><b>image_ratio_no_zoom_out</b> same as {@link image_ratio}, but won'
    t resize if the source image is bigger than {@link image_x{@link image_y} (default: false)<br>
     *  <
    pre>$handle->image_ratio_no_zoom_out true;</pre></li>
     *  <
    li><b>image_ratio_x</b> if trueresize imagecalculating {@link image_xfrom {@link image_y} and conserving the original sizes ratio (default: false)<br>
     *  <
    pre>$handle->image_ratio_x true;</pre></li>
     *  <
    li><b>image_ratio_y</b> if trueresize imagecalculating {@link image_yfrom {@link image_x} and conserving the original sizes ratio (default: false)<br>
     *  <
    pre>$handle->image_ratio_y true;</pre></li>
     * </
    ul>
     *  
    The following image manipulations require GD2+
     * <
    ul>
     *  <
    li><b>image_brightness</b> if setcorrects the brightnessvalue between -127 and 127 (default: NULL)<br>
     *  <
    pre>$handle->image_brightness 40;</pre></li>
     *  <
    li><b>image_contrast</b> if setcorrects the contrastvalue between -127 and 127 (default: NULL)<br>
     *  <
    pre>$handle->image_contrast 50;</pre></li>
     *  <
    li><b>image_tint_color</b> if setwill tint the image with a colorvalue as hexadecimal #FFFFFF (default: NULL)<br>
     
    *  <pre>$handle->image_tint_color '#FF0000';</pre></li>
     *  <
    li><b>image_overlay_color</b> if setwill add a colored overlayvalue as hexadecimal #FFFFFF (default: NULL)<br>
     
    *  <pre>$handle->image_overlay_color '#FF0000';</pre></li>
     *  <
    li><b>image_overlay_percent</bused when {@link image_overlay_coloris setdetermines the opacity (default: 50)<br>
     *  <
    pre>$handle->image_overlay_percent 20;</pre></li>
     *  <
    li><b>image_negative</binverts the colors in the image (default: false)<br>
     *  <
    pre>$handle->image_negative true;</pre></li>
     *  <
    li><b>image_greyscale</btransforms an image into greyscale (default: false)<br>
     *  <
    pre>$handle->image_greyscale true;</pre></li>
     *  <
    li><b>image_threshold</bapplies a threshold filtervalue between -127 and 127 (default: NULL)<br>
     *  <
    pre>$handle->image_threshold 20;</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_text</bcreates a text label on the imagevalue is a stringwith eventual replacement tokens (default: NULL)<br>
     *  <
    pre>$handle->image_text 'test';</pre></li>
     *  <
    li><b>image_text_direction</btext label directioneither 'h' horizontal or 'v' vertical (default: 'h')<br>
     *  <
    pre>$handle->image_text_direction 'v';</pre></li>
     *  <
    li><b>image_text_color</btext color for the text labelin hexadecimal (default: #FFFFFF)<br>
     
    *  <pre>$handle->image_text_color '#FF0000';</pre></li>
     *  <
    li><b>image_text_percent</btext opacity on the text labelinteger between 0 and 100 (default: 100)<br>
     *  <
    pre>$handle->image_text_percent 50;</pre></li>
     *  <
    li><b>image_text_background</btext label background colorin hexadecimal (default: NULL)<br>
     *  <
    pre>$handle->image_text_background '#FFFFFF';</pre></li>
     *  <
    li><b>image_text_background_percent</btext label background opacityinteger between 0 and 100 (default: 100)<br>
     *  <
    pre>$handle->image_text_background_percent 50;</pre></li>
     *  <
    li><b>image_text_font</bbuilt-in font for the text labelfrom 1 to 5. 1 is the smallest (default: 5)<br>
     *  <
    pre>$handle->image_text_font 4;</pre></li>
     *  <
    li><b>image_text_x</babsolute text label positionin pixels from the left bordercan be negative (default: NULL)<br>
     *  <
    pre>$handle->image_text_x 5;</pre></li>
     *  <
    li><b>image_text_y</babsolute text label positionin pixels from the top bordercan be negative (default: NULL)<br>
     *  <
    pre>$handle->image_text_y 5;</pre></li>
     *  <
    li><b>image_text_position</btext label position withing the imagea combination of one or two from 'TBLR'topbottomleftright (default: NULL)<br>
     *  <
    pre>$handle->image_text_position 'LR';</pre></li>
     *  <
    li><b>image_text_padding</btext label paddingin pixelscan be overridden by {@link image_text_padding_x} and {@link image_text_padding_y} (default: 0)<br>
     *  <
    pre>$handle->image_text_padding 5;</pre></li>
     *  <
    li><b>image_text_padding_x</btext label horizontal padding (default: NULL)<br>
     *  <
    pre>$handle->image_text_padding_x 2;</pre></li>
     *  <
    li><b>image_text_padding_y</btext label vertical padding (default: NULL)<br>
     *  <
    pre>$handle->image_text_padding_y 10;</pre></li>
     *  <
    li><b>image_text_alignment</btext alignment when text has multiple lineseither 'L''C' or 'R' (default: 'C')<br>
     *  <
    pre>$handle->image_text_alignment 'R';</pre></li>
     *  <
    li><b>image_text_line_spacing</bspace between lines in pixelswhen text has multiple lines (default: 0)<br>
     *  <
    pre>$handle->image_text_line_spacing 3;</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_flip</bflips imagewither 'h' horizontal or 'v' vertical (default: NULL)<br>
     *  <
    pre>$handle->image_flip 'h';</pre></li>
     *  <
    li><b>image_rotate</brotates imagepossible values are 90180 and 270 (default: NULL)<br>
     *  <
    pre>$handle->image_rotate 90;</pre></li>
     *  <
    li><b>image_crop</bcrops imageaccepts 4or 1 values as 'T R B L' or 'TB LR' or 'TBLR'dimension can be 20, or 20px or 20% (default: NULL)<br>
     *  <
    pre>$handle->image_crop = array(50,40,30,20); OR '-20 20%'...</pre></li>
     *  <
    li><b>image_background_color</b> default background colorin hexadecimal (default: null)<br>
     *  <
    pre>$handle->image_background_color '#FF00FF';</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_bevel</badds a bevel border to the imagevalue is thickness in pixels (default: NULL)<br>
     *  <
    pre>$handle->image_bevel 20;</pre></li>
     *  <
    li><b>image_bevel_color1</btop and left bevel colorin hexadecimal (default: #FFFFFF)<br>
     
    *  <pre>$handle->image_bevel_color1 '#FFFFFF';</pre></li>
     *  <
    li><b>image_bevel_color2</bbottom and right bevel colorin hexadecimal (default: #000000)<br>
     
    *  <pre>$handle->image_bevel_color2 '#000000';</pre></li>
     *  <
    li><b>image_border</badds a unicolor border to the imageaccepts 4or 1 values as 'T R B L' or 'TB LR' or 'TBLR'dimension can be 20, or 20px or 20% (default: NULL)<br>
     *  <
    pre>$handle->image_border '3px'; OR '-20 20%' OR array(3,2)...</pre></li>
     *  <
    li><b>image_border_color</bborder colorin hexadecimal (default: #FFFFFF)<br>
     
    *  <pre>$handle->image_border_color '#FFFFFF';</pre></li>
     *  <
    li><b>image_frame</btype of frame1=flat 2=crossed (default: NULL)<br>
     *  <
    pre>$handle->image_frame 2;</pre></li>
     *  <
    li><b>image_frame_colors</b> list of hex colorsin an array or a space separated string (default: '#FFFFFF #999999 #666666 #000000')<br>
     *  <
    pre>$handle->image_frame_colors = array('#999999',  '#FF0000''#666666''#333333''#000000');</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_watermark</badds a watermark on the imagevalue is a local filenameaccepted files are GIFJPGPNG and PNG alpha (default: NULL)<br>
     *  <
    pre>$handle->image_watermark 'watermark.png';</pre></li>
     *  <
    li><b>image_watermark_x</babsolute watermark positionin pixels from the left bordercan be negative (default: NULL)<br>
     *  <
    pre>$handle->image_watermark_x 5;</pre></li>
     *  <
    li><b>image_watermark_y</babsolute watermark positionin pixels from the top bordercan be negative (default: NULL)<br>
     *  <
    pre>$handle->image_watermark_y 5;</pre></li>
     *  <
    li><b>image_watermark_position</bwatermark position withing the imagea combination of one or two from 'TBLR'topbottomleftright (default: NULL)<br>
     *  <
    pre>$handle->image_watermark_position 'LR';</pre></li>
     * </
    ul>
     * <
    ul>
     *  <
    li><b>image_reflection_height</b> if seta reflection will be addedFormat is either in pixels or percentagesuch as 40'40''40px' or '40%' (default: NULL)<br>
     *  <
    pre>$handle->image_reflection_height '25%';</pre></li>
     *  <
    li><b>image_reflection_space</bspace in pixels between the source image and the reflectioncan be negative (default: NULL)<br>
     *  <
    pre>$handle->image_reflection_space 3;</pre></li>
     *  <
    li><b>image_reflection_color</breflection background colorin hexadecimal (default: #FFFFFF)<br>
     
    *  <pre>$handle->image_reflection_color '#000000';</pre></li
     *  <
    li><b>image_reflection_opacity</bopacity level at which the reflection startsinteger between 0 and 100 (default: 60)<br>
     *  <
    pre>$handle->image_reflection_opacity 60;</pre></li>
     * </
    ul>
     *

     

Поделиться этой страницей