• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.

Problem with 1and1 and remote upload

francois53

Chevereto Noob
Hi,
Principly i translate in English (i'm french).
I have problem (fatal error, check your data, in french: erreur, vérifiez vos données) with 1&1 server when i want to upload with remote. I can't do that with 1&1, how i do correctly that ?
If Rodolfo help me i put the generator meta in my site !
Thanks !
 
The extensions are only for remote upload, if your site fails on this then also the extension...

About the error, open config.php and enable the debug mode, then paste the error here (it will ugly appear in the top of the page when ypu try to make a remote upload).

Thanks.
 
My message error in debug mode:
Code:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/18/d319431053/htdocs/up/index.php:1) in /homepages/18/d319431053/htdocs/up/engine.php on line 318
My error when i upload whith url:
Code:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/18/d319431053/htdocs/up/index.php:1) in /homepages/18/d319431053/htdocs/up/engine.php on line 328

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /homepages/18/d319431053/htdocs/up/engine.php on line 227

Warning: getimagesize(http://www.cssedan.com/v7/actualites/photos/1286938054.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /homepages/18/d319431053/htdocs/up/engine.php on line 227
My engine.php code:
Code:
<?

/* -----------------------------------------

  Chevereto - Script de hosting de imagenes
  Nightly Build 1.9r1 (29/08/2010)
  http://www.chevereto.com/

  Released under the GPL 2.0
  Copyright (C) 2008 by Rodolfo Berrios
  <inbox at rodolfoberrios dot com>

  ----------------------------------------- */

// VERSION DEL SCRIPT
define('SC_VERSION','NB1.9r1');

// Config
require('config.php');
require('admin/config.php');
require('admin/db_connect.php');

// Pseudo Debug
if(!$debug_mode) {
    error_reporting(0);
}

//For admin-panel.
$now=mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));
$uid=0;
$created=$now;
$lastviewed=0;
$submitip=$_SERVER["REMOTE_ADDR"];
$views=0;
$picfsize=0;
$pic_width=0;
$pic_height=0;

// Critital error box
$o_errorbox = '<div style="background: #F00; color: #FFF; font-family: Courier, monospace; font-weight: bold; padding: 1em; text-align: center;">';
$c_errorbox = '</div>';

// Fx para comprobar variables
function check_var($var) {
    if(!isset($var) && empty($var)) {
        return false;
    } else {
        return true;
    }
}

// Fx para comprobar las keys
function check_key($var) {
    if(check_var($var)) {
        session_unset();
        header('Location: '.URL_SCRIPT);
    }
}

function check_permissions($dir) {
    global $o_errorbox, $c_errorbox;
    if(!is_writable($dir)) {
        echo $o_errorbox.'Critital error 01: There is no write permission in '.$dir.$c_errorbox;
        die();
    }
}
// CH-Ch-Check Permissions
check_permissions(DIR_UP);
check_permissions(DIR_IM);
check_permissions(DIR_WORKING);
check_permissions(DIR_TEMP);
check_permissions(DIR_TH);

// CH-CH-Check Upload config
$ini_upload = trim(ini_get('upload_max_filesize'), 'M');
if($ini_upload<$max_mb) {
    echo $o_errorbox.'Critital error 02: Max. image size ('.$max_mb.'Mb) is greater than the value in php.ini ('.$ini_upload.'Mb)'.$c_errorbox;
    die();
}

// CH-CH-Check GD
if (!extension_loaded('gd') && !function_exists('gd_info')) {
    echo $o_errorbox.'Critital error 03: You must load the GD extension. <a href="http://php.net/manual/en/book.image.php">http://php.net/manual/en/book.image.php</a>'.$c_errorbox;
    die();
}

// CH-CH-Check $DOM_SCRIPT
if(!isset($DOM_SCRIPT) or empty($DOM_SCRIPT)) {
    echo $o_errorbox.'Critital error 04: Invalid $DOM_SCRIPT, edit it manually in config.php'.$c_errorbox;
    die();
}

// CH-CH-Chek cURL
//if (!extension_loaded('curl')) {
//    echo $o_errorbox.'Critital error 05: You must load the cURL extension. <a href="http://php.net/manual/en/book.curl.php">http://php.net/manual/en/book.curl.php</a>'.$c_errorbox;
//    die();
//}

// DOCTITLE
define('ESP_TITULO',' | ');

// VARIABLES
$lup = $_FILES['fileup'];
$remota = $_POST['remota'];
$postedkey = $_POST['postkey'];
$resizf = str_replace(' ', '', $_POST['resize']); // Resize via POST
$url = $_GET['url'];
$urlrez = $_GET['urlrez'];
$v = $_GET['v'];  if ($v=='.htaccess') { unset($v); $v=''; }
$page = $_GET['p'];
$view_fld = $_GET['folder'];
$resizr = $_GET['ancho']; // Resize via GET

// SHORT URL SERVICE
switch($cut_url_service) {
    case 'tinyurl':
        $tiny_api = 'http://tinyurl.com/api-create.php?url=';
        $tiny_service = 'TinyURL';
        break;
    default:
        $tiny_api = 'http://tinyurl.com/api-create.php?url=';
        $tiny_service = 'TinyURL';
        break;
}

// LANGUAGE
include('lang/'.LANG.'.php');
if (LANG!=='es') { $lang = LANG; }

// SET Modo default
$modo = 1;

// DE DONDE VIENES?
$referer = parse_url($_SERVER['HTTP_REFERER']);
if (empty($referer['host']) && !isset($referer['host'])) {
    $referido = $DOM_SCRIPT;
} else {
    $referido = $referer['host'];
}

if (isset($remota)) {
    $ref3 = explode('?',$ref2); // img.godlike.cl?urlrez=http:
    $refok = $ref3['0'];
} else {
    $refok = $ref2;
}

// Limite de actividad
if (isset($lup) || isset($remota)) {
    if ($referido !== $DOM_SCRIPT && $lim_act==true) {
        if (!isset($url)) {
            echo $o_errorbox.ERROR_REF.$c_errorbox;
            die;
        }
    }
}

// EL REZ
if (isset($resizr)) {
        $resize = str_replace(' ', '', $resizr);
    } else {
        $resize = str_replace(' ', '', $resizf);
    }

// MANEJEMOS LA RUP
if (isset($url)) {
        $rup = str_replace(' ', '', $url);
    } else {
        $rup = str_replace(' ', '', $remota);
    }

// DETERMINAMOS QUE MOSTRAMOS Y HACEMOS
    //  1 = Mostrar formulario.
    //  2 = Muetsra el visualizador
    //  3 = Sube un archivo
    //  4 = muestra la pag del error de redimensionamiento
    //  5 = Muestra una pag. estatica
    //  spit = devuelve los mensajes de error.

// Modo pagina
if (isset($page)) {
    unset($modo);
    $modo = 5;
    // haga el switch
    switch ($page) {
        // Los errores
        case '400':
            $h1 = TITLE_400;
            $explained = DESC_400;
        break;
        case '401':
            $h1 = TITLE_401;
            $explained = DESC_401;
        break;
        case '403':
            $h1 = TITLE_403;
            $explained = DESC_403;
        break;
        case '404':
            $h1 = TITLE_404;
            $explained = DESC_404;
        break;
        case '500':
            $h1 = TITLE_500;
            $explained = DESC_500;
        case '503':
            $h1 = TITLE_503;
            $explained = DESC_503;
        break;
        default:
            $h1 = TITLE_404;
            $explained = DESC_404;
            $page = 'generico';
        break;
    }
    $titulo = $h1.ESP_TITULO;
}

// FX validate URL
function isValidURL($url) {
    return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}

// FX Filtro (REMOTO)
function checkremota($rup) {
    if(isValidURL($rup)) {
        $info = getimagesize($rup);
        if(!empty($info)) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}

// Si hay posteo / urleo
if (isset($lup) || isset($remota) || isset($url)) {
    if ($lup[size] ==! null || !empty($remota) || !empty($url)) {
        unset($modo);
        $modo = 3;
    } else {
        unset($modo);
        $modo = 1;
        $spit = true;
        $errormsg = FORM_INCOMPLETE;
        $titulo = TITLE_FORM_INCOMPLETE.ESP_TITULO;
    }
}

// SI HAY DOBLE POSTEO...
if (!empty($rup) && !empty($lup['type'])) {
    unset($modo);
    $modo = 1;
    $spit = true;
    $errormsg = DOBLE_POSTED;
    $titulo = FATAL_ERROR_TITLE.ESP_TITULO;
}

// Si hay urlrez, seteamos el modo rr
if (isset($urlrez)) {
    if (!empty($urlrez)) {
        
        // Valid URL?
        if(!isValidURL($urlrez) or !checkremota($urlrez)) {
            unset($modo);
            $modo = 1;
            $spit = true;
            $errormsg = CRITIC_ERROR_INPUT;
            $titulo = ERROR_UPLOADING.ESP_TITULO;
        } else {
            // veamos la extension...
            $info_rez = getimagesize($urlrez);        
            if (preg_match("@image/(gif|pjpeg|jpeg|png|x-png|bmp)$@", $info_rez['mime'])) {
                unset($modo);
                $modo = 'rr';
                $titulo = ENTER_WIDTH.ESP_TITULO;
            } else { 
                $spit = true;
                $errormsg = INVALID_EXT;
                $titulo = INVALID_TITLE.ESP_TITULO;
            }
        }
    } else {
        $spit = true;
        $errormsg = NOTHING_TO_RESIZE;
        $titulo = INPUT_ERROR.ESP_TITULO;
    }
}

// Si hay V, seteamos el modo 2
if (isset($v)) {
    if (!empty($v)) {
        unset($modo);
        $modo = 2;
        $name = $v;
    } else {
        $spit = true;
        $errormsg = NO_ID;
        $titulo = NO_ID_TITLE.ESP_TITULO;
    }
}

$string = $rup.$urlrez;

if (preg_match("@".$DOM_SCRIPT."/(site-img|js)/@", $string)) {
    unset($modo);
    $modo = 1;
    $spit = true;
    $errormsg = NO_SELF_UPLOAD;
    $titulo = CANT_UPLOAD_TITLE.ESP_TITULO;    
}

if($modo==1) {
    
    // Vemos si ya existe un postkey
    session_start();
    check_key($_SESSION['postedkey']);
    session_write_close();
    
    // Generamos la postkey para el formulario
    $postkey = md5(uniqid(rand(), true));
}

/* HAGAMOS EL UPLOADING ---MODO 3--- */
if ($modo==3) {
    session_start();
    check_key($_SESSION['postedkey']);
    $_SESSION['postedkey'] = $postedkey;
    session_write_close();

    // Primer filtro (LOCAL)
    function checklocal($lup) {    
        if (preg_match("@image/(gif|pjpeg|jpeg|png|x-png|bmp)$@", $lup['type'])) { return true; }
        if ($lup['size']<$max_by) { return true; }
        return false;
    }
    

    if (checklocal($lup) || checkremota($rup)) {
            
        // LA SUBIDA LOCAL
        if ($lup['size'] ==! null) {
            
            copy($lup['tmp_name'], DIR_WORKING.$lup['name']);        
            $tmp_name = $lup[name]; // Temp name
        }
        // LA SUBIDA REMOTA
        if (!empty($rup)) {
            // Veamos si viene del resize
            $grabname = substr("$rup", -21); // up/temp/000000000.jpg
            if (file_exists($grabname)) {
                $tmp_name = substr("$rup", -13);
                rename($grabname, DIR_WORKING.$tmp_name);
            } else {
                // GET A NAME
                $partes = explode('/', $rup);
                $rname = $partes[count($partes) - 1];        
                // Conectando
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL,$rup);
                curl_setopt($ch, CURLOPT_HEADER, false);
                curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                set_time_limit(300); // 5 Min. PHP
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,300); // 5 Min.cURL
                curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
                
                $rup_parse = parse_url($rup);
                $rup_temp = substr($rup_parse['path'], 1);
                
                if (preg_match("@".DIR_TEMP."@", $rup_temp)) {
                    $delete_temp = true;
                }
                                
                $out = fopen(DIR_WORKING.$rname, 'wb');
                curl_setopt($ch, CURLOPT_FILE, $out);
                // grab
                $resultado = curl_exec($ch);
                fclose($out);
                curl_close($ch);
                $tmp_name = $rname;
            }
        } // remota
            
        // Manejemos la temporal
        $handlework = DIR_WORKING.$tmp_name;
        
        $info = getimagesize($handlework);
        
        // Otras lecturas
        $statinfo = @stat($handlework);
        $tamano = $statinfo['size']; // BYTES
        $tamano_kb = round($tamano/1024,2);
        $mimosa = $info['mime']; // SI POR LA CONCHETUMADRE
        $ancho = $info[0]; // Fijate en esto!
        $alto = $info[1];
        $mime = $info['mime'];

        if (!$ancho || !$alto || !$mime || !$tamano) { // Fallan esas leseras
            $invalida = true;
            $inv_txt = INVALID_CORRUPT;
            $no = true; 
        }
        if ($tamano > $max_by) { // Muy pesada
            $peso = true;
            $no = true;
        }
            
        // Manejemos el mime tipe para los "amigos" que usan otras extensiones...
        if ($mimosa=="image/gif") { $exten = 'gif'; }
        if ($mimosa=="image/pjeg") { $exten = 'jpg'; }
        if ($mimosa=="image/jpeg") { $exten = 'jpg'; }
        if ($mimosa=="image/png") { $exten = 'png'; }
        if ($mimosa=="image/bmp" or $mimosa=="image/x-ms-bmp") {
            $exten = 'bmp';
            
            // Si es BMP la pasamos a GD...
            function bmp2gd($src, $dest = false) {
                /*** try to open the file for reading ***/
                if(!($src_f = fopen($src, "rb"))) {
                    return false;
                }
            
                /*** try to open the destination file for writing ***/
                if(!($dest_f = fopen($dest, "wb"))) {
                    return false;
                }
                
                /*** grab the header ***/
                $header = unpack("vtype/Vsize/v2reserved/Voffset", fread( $src_f, 14));
                
                /*** grab the rest of the image ***/
                $info = unpack("Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vncolor/Vimportant",
                fread($src_f, 40));
                
                /*** extract the header and info into varibles ***/
                extract($info);
                extract($header);
                
                /*** check for BMP signature ***/
                if($type != 0x4D42) {
                    return false;
                }
                
                /*** set the pallete ***/
                $palette_size = $offset - 54;
                $ncolor = $palette_size / 4;
                $gd_header = "";
                
                /*** true-color vs. palette ***/
                $gd_header .= ($palette_size == 0) ? "\xFF\xFE" : "\xFF\xFF";
                $gd_header .= pack("n2", $width, $height);
                $gd_header .= ($palette_size == 0) ? "\x01" : "\x00";
                if($palette_size) {
                    $gd_header .= pack("n", $ncolor);
                }
                /*** we do not allow transparency ***/
                $gd_header .= "\xFF\xFF\xFF\xFF";
                
                /*** write the destination headers ***/
                fwrite($dest_f, $gd_header);
                
                /*** if we have a valid palette ***/
                if($palette_size) {
                    /*** read the palette ***/
                    $palette = fread($src_f, $palette_size);
                    /*** begin the gd palette ***/
                    $gd_palette = "";
                    $j = 0;
                    /*** loop of the palette ***/
                    while($j < $palette_size)
                    {
                        $b = $palette{$j++};
                        $g = $palette{$j++};
                        $r = $palette{$j++};
                        $a = $palette{$j++};
                        /*** assemble the gd palette ***/
                        $gd_palette .= "$r$g$b$a";
                    }
                    /*** finish the palette ***/
                    $gd_palette .= str_repeat("\x00\x00\x00\x00", 256 - $ncolor);
                    /*** write the gd palette ***/
                    fwrite($dest_f, $gd_palette);
                }
                
                /*** scan line size and alignment ***/
                $scan_line_size = (($bits * $width) + 7) >> 3;
                $scan_line_align = ($scan_line_size & 0x03) ? 4 - ($scan_line_size & 0x03) : 0;
                
                /*** this is where the work is done ***/
                for($i = 0, $l = $height - 1; $i < $height; $i++, $l--) {
                    /*** create scan lines starting from bottom ***/
                    fseek($src_f, $offset + (($scan_line_size + $scan_line_align) * $l));
                    $scan_line = fread($src_f, $scan_line_size);
                    if($bits == 24)
                    {
                        $gd_scan_line = "";
                        $j = 0;
                        while($j < $scan_line_size)
                        {
                            $b = $scan_line{$j++};
                            $g = $scan_line{$j++};
                            $r = $scan_line{$j++};
                            $gd_scan_line .= "\x00$r$g$b";
                        }
                    }
                    elseif($bits == 8) {
                        $gd_scan_line = $scan_line;
                    }
                    elseif($bits == 4) {
                        $gd_scan_line = "";
                        $j = 0;
                        while($j < $scan_line_size) {
                            $byte = ord($scan_line{$j++});
                            $p1 = chr($byte >> 4);
                            $p2 = chr($byte & 0x0F);
                            $gd_scan_line .= "$p1$p2";
                        }
                        $gd_scan_line = substr($gd_scan_line, 0, $width);
                    }
                    elseif($bits == 1) {
                        $gd_scan_line = "";
                        $j = 0;
                        while($j < $scan_line_size) {
                            $byte = ord($scan_line{$j++});
                            $p1 = chr((int) (($byte & 0x80) != 0));
                            $p2 = chr((int) (($byte & 0x40) != 0));
                            $p3 = chr((int) (($byte & 0x20) != 0));
                            $p4 = chr((int) (($byte & 0x10) != 0));
                            $p5 = chr((int) (($byte & 0x08) != 0));
                            $p6 = chr((int) (($byte & 0x04) != 0));
                            $p7 = chr((int) (($byte & 0x02) != 0));
                            $p8 = chr((int) (($byte & 0x01) != 0));
                            $gd_scan_line .= "$p1$p2$p3$p4$p5$p6$p7$p8";
                        }
                    /*** put the gd scan lines together ***/
                    $gd_scan_line = substr($gd_scan_line, 0, $width);
                    }
                    /*** write the gd scan lines ***/
                    fwrite($dest_f, $gd_scan_line);
                }
                /*** close the source file ***/
                fclose($src_f);
                /*** close the destination file ***/
                fclose($dest_f);
                
                return true;
            }
            

            function ImageCreateFromBmp($filename) {
                /*** create a temp file ***/
                $tmp_name = tempnam("/tmp", "GD");
                /*** convert to gd ***/
                if(bmp2gd($filename, $tmp_name)) {
                    /*** create new image ***/
                    $img = imagecreatefromgd($tmp_name);
                    /*** remove temp file ***/
                    unlink($tmp_name);
                    /*** return the image ***/
                    return $img;
                }
                return false;
            }
            
            $bmp_img = ImageCreateFromBmp($handlework);
            unlink($handlework);

            $bmp2png = DIR_WORKING.substr($tmp_name, 0, -3).'png';
            imagepng($bmp_img, $bmp2png);
            
            unset($handlework); $handlework = $bmp2png;        
            unset($exten); $exten = 'png';
            
        }
        
        if (!isset($no)) {
            $up = true;
        }
        
        if ($no==true) {
            // Eliminamos la imagen del up/working..
            unlink($handlework);

            $spit = true;
            unset($modo);
            $modo = 1;
            if ($peso==true && $invalida==false) {
                $pes_txt = TOO_HEAVY.' ('.$max_mb.'MB max.)';
                $errormsg = $pes_txt;
            }
            elseif ($peso==true && $invalida==true) {
                $pes_txt = TOO_HEAVY.' ('.$max_mb.'MB max.)';
                $ademas = ' '.ANDTEXT.' ';
                $errormsg = $pes_txt.$ademas;
            } else {
                $errormsg = INVALID_EXT;
            }
            
        } // no!
        
        // Hay subida compadre...
        if ($up) {
     
             //gen random name by Gamerlv
            function genRandomString($length=10,$timestamp=0) {
                $characters = "0123456789abcdefghijklmnopqrstuvwxyz"; //the char we use
                $len = strlen($characters) - 1; //get the total length(ammount of characters) of $characters
                $string = ""; //init the output string

                for ($p = 0; $p < $length; $p++) {
                    $string .= $characters[mt_rand(0, $len)]; //add a character to the string, until we have $length 
                }
                if ($timestamp){
                    $string .= "-".date("j-m-y\:H:i:s"); // add timestamp !warning this does not account for the max char
                }            
                return $string; //output the string.
            }    
            
            /* TODO opciones de renombre */
            
            // Limpiemos el nombre
            // --> Tambien me quedo "super rico".
            $lower = strtolower($tmp_name); // Solo minusculas
            $alnum = ereg_replace("[^[:alnum:]]","",$lower); // Solo alfanumericos
            if ($exten==peg) { unset($exten); $exten = 'jpg'; }
            $clear = genRandomString($max_name);
            //$clear = substr_replace($alnum, '', -3); // sin extension ni punto
            // Cortemos el nombre (si hace falta)
            $conteo = strlen($clear);
            
            // Random
            $ch_1 = chr(rand(ord("a"), ord("z")));
            $ch_2 = chr(rand(ord("z"), ord("a")));
            
            if ($conteo>$max_name) {
                $renombre = substr("$clear", 0, $max_name);
            } else {
                if (empty($clear)) {
                    $renombre = $ch_1.$ch_2.$ch_1;
                } else {
                    $renombre = $clear;
                }
            }
                
            // Si existe el nombre, renombramos el que estamos subiendo.
            if (file_exists(DIR_IM.$renombre.'.'.$exten)) {
                if ($conteo>$totalchars) { 
                    // Si el nombre es muy largo, corta
                    $renombra = substr("$renombre", 0, $max_name-4); // 4 -> El remplazo de mas abajo            
                } else { 
                    $renombra = $renombre;    
                }
                // Vamos a darle caracteres aleatorios.            
                $name = $renombra.$ch_1.$ch_2.$ch_1.'.'.$exten;
            } else { 
                $name = $renombre.'.'.$exten;
            }        
            
            // Setiemos el redimensionamiento
            if (!empty($resize)) {                
                if(preg_match("/[^0-9\.]/",$resize)) { // Queremos solo numeros!
                    $errormsg = JUST_NUMBERS;
                    $titulo = UPLOADED_BUT_NOT_RESIZED.ESP_TITULO;
                    $spit = true;
                    $red = 2;
                } else {
                    if($allow_over_resize==false && $resize>$ancho) {
                        $errormsg = OVER_RESIZE_ERROR.' ('.$ancho.'px)';
                        $titulo = UPLOADED_BUT_NOT_RESIZED.ESP_TITULO;
                        $spit = true;
                        $red = 2;                
                    } else {
                        if ($resize<=$higres && $resize>=$lowres) {
                            $new_alto = round($resize*$alto/$ancho);
                            // Seteamos el nuevo alto y ancho
                            unset($ancho);
                            unset($alto);
                            $ancho = $resize;
                            $alto = $new_alto;
                            $red = 1;
                        } else {
                            $errormsg = RESIZE_LIMITS.' '.$lowres.' '.ANDTEXT.' '.$higres.' (pixels)';
                            $titulo = UPLOADED_BUT_NOT_RESIZED.ESP_TITULO;
                            $spit = true;
                            $red = 2;
                        }
                    }
                }
            }
                        
            
            // Target -> Archivo a redimensionar (handlework)
            // Archivo -> Archivo work (DIR_WORKING.$name)
            function redimensionar($tipo,$target,$archivo,$ancho_n,$alto_n) {
                
                /* TODO agregar un handle pa esta wea cuando se cae */
                if ($tipo==gif) {
                    $src = imagecreatefromgif($target);
                }
                if ($tipo==png) {
                    $src = imagecreatefrompng($target);
                }
                if ($tipo==jpg) {
                    $src = imagecreatefromjpeg($target);
                }
                        
                $era_x = imageSX($src);
                $era_y = imageSY($src);
                $destino = imagecreatetruecolor($ancho_n,$alto_n);
                
                // gif
                if ($tipo==gif) {
                    $transparente = imagecolortransparent($src);
                    imagepalettecopy($src, $destino);
                    imagefill($destino, 0, 0, $transparente);
                    imagecolortransparent($destino, $transparente);
                    imagetruecolortopalette($destino, true, 256);
                } else {
                    imagecolortransparent($destino, imagecolorallocate($destino, 0, 0, 0) );
                }            
                
                imagealphablending($destino, false);
                imagesavealpha($destino, true);
                
                imagecopyresampled($destino,$src,0,0,0,0,$ancho_n,$alto_n,$era_x,$era_y);
                
                if ($tipo==gif) { imagegif($destino, $archivo); }
                if ($tipo==png) { imagepng($destino, $archivo); }
                if ($tipo==jpg) { imagejpeg($destino, $archivo, 86); }
                if ($tipo==bmp) { imagewbmp($destino, $archivo); }
                
                imagedestroy($destino); 
                imagedestroy($src);    
                
            } // La funcion
            
            if (empty($resize)) {
                // Haga como si nada...
                copy($handlework, DIR_IM.$name);
                $titulo = UPLOAD_OK.ESP_TITULO;
            }
            if ($red==1) {
                // Correr la funcion redimensionamiento *img en el working
                redimensionar($exten,$handlework,DIR_WORKING.$name,$ancho,$alto);
                        
                // Mover la redimensionada
                copy(DIR_WORKING.$name, DIR_IM.$name);
                $titulo = UPLOAD_AND_RESIZED.ESP_TITULO;
                                
                // Borramos
                unlink(DIR_WORKING.$name);
                if($delete_temp==true) { unlink($rup_temp); }

            }
            if ($red==2) {
                // No red correcto, renombra la temp (vea si esta)
                $tname = DIR_TEMP.$name;            
                if (file_exists(DIR_TEMP.$name)) {
                    $numletra = ereg_replace("[^[:alnum:]]","",$name);
                    $cleartemp = substr_replace($numletra, '', -3); // sin extension ni punto
                    $randtemp = rand(000,999);
                    $tname = DIR_TEMP.$cleartemp.$randtemp.'.'.$exten;                        
                } else {
                    $tname = DIR_TEMP.$name;
                }
                rename($handlework, $tname);
                $URLrdn = URL_SCRIPT.$tname;
                
                // Setea el modo 4!
                unset($modo);
                $modo = 4;
            }
            
            // si se sube algo creemos el thumb
            if ((empty($resize) || $red==1)) {
                // thumb
                if ($ancho>$alto) {
                    unset($mini_alto);
                    $mini_alto = round($mini_ancho*$alto/$ancho);    
                }
                if ($ancho<$alto) {
                    unset($mini_ancho);
                    $mini_ancho = round($mini_alto*$ancho/$alto);
                }
                // Thumb
                redimensionar($exten,$handlework,DIR_TH.$name,$mini_ancho,$mini_alto);    
                // Chao work
                unlink($handlework);        
            }
            
        }
    
    } else { // Check local + remote 
        unset($modo);
        $modo = 1;
        $spit = true;
        $errormsg = CRITIC_ERROR_INPUT;
        $titulo = ERROR_UPLOADING.ESP_TITULO;
    }
  //For admin-panel. Send info about img to DB.
  mysql_query("insert into pics(created,lastviewed,pictype,submitip,picfsize,uniqid,pic_width,pic_height)
  values(
  ".$created.",
  ".$lastviewed.",
  '".$exten."',
  '".$submitip."',
  ".$tamano.",
  '".$name."',
  ".$ancho.",
  ".$alto."
  )");
        
}

if ($modo==2 || $modo==3) {
    // INFORMACION (ANCHO, ALTO y PESO)
    if ($modo==2) {
        if ($_GET['v']) {
            $id = $_GET['v'];
            $imagen = DIR_IM.$id;
            if (file_exists($imagen)==true) {
                $titulo = SEEING.' '.$id.' '.AT.' ';
                $info = getimagesize($imagen); //Obtenemos la informacion
                $statinfo = @stat($imagen);
                    $ancho = $info[0];
                    $alto = $info[1];    
                    $mime = $info['mime']; 
                        $tamano = $statinfo['size']; //Bytes
                        $tamano_kb = round($tamano*0.0009765625, 2);
                    $canales = $info['channels'];
            } else {
                unset($modo);
                $modo = 1;
                $spit = true;
                $errormsg = NOT_EXISTS;
                $titulo = NOT_EXISTS_TITLE.ESP_TITULO;
            }
        }
    }
    
    // LAS URL
    $URLimg = URL_SCRIPT.DIR_IM.$name;
    $URLthm = URL_SCRIPT.DIR_TH.$name;
    $URLvim = URL_SCRIPT.'?v='.$name;
    $URLshr = $URLvim; // Para no cambiar mas abajo
    $eu_img = urlencode($URLimg);
    
    // Short URL using services like TinyURL.com        
    function cortar_url($url) {    
        global $tiny_api;
        $tiny = $tiny_api.$url;
        $chtny = curl_init();
        curl_setopt($chtny, CURLOPT_URL, $tiny);
        curl_setopt($chtny, CURLOPT_RETURNTRANSFER, 1);
        $ShortURL = curl_exec($chtny);
        curl_close($chtny);
        return $ShortURL;
    }
    
    // SI esta habilitado cortar url.. hagamolo.
    if ($cut_url==true) {
        
        // Si se da a elegir al usuario, cortemos si el quiere.
        if ($cut_url_user==true) {
            // El usuario quiere cortar url...
            if (isset($_COOKIE['prefurl'])) {
                $ShortURL = cortar_url($URLimg);
            }
        // Cortamos si o si ya que la prefencia es de script y no de usuario.
        } else {
            $ShortURL = cortar_url($URLimg);
        }

    }

}

if (!isset($titulo)) {
    $titulo = WELCOME;
}

?>
 
Code:
Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /homepages/18/d319431053/htdocs/up/engine.php on line 227

This is telling that getimagesize fx can't fetch the imageurl. I think that this was changed on 2.0, I will look up.
 
I have the good script !!!!
In 1and1 create a php.ini:
Code:
allow_url_fopen = 1
It's simply this, rodolfo many people have this problem => create topic :D
 
because your using php.ini, you will have a clash of upload size between the native of the script and the ini, ini will naturaly win and have the control, if its not added in there you will get an error, to fix it simply match the mb size for the script, by default it is 2mb so you will want to add this inside the php.ini
Code:
upload_max_filesize = 2M
only if you recieve the following error
Code:
Critital error 02: Max. image size (2Mb) is greater than the value in php.ini)
just make sure the amount inside the config.php matches the php.ini.
 
Back
Top