Foros del Web » Programando para Internet » PHP »

error al subir las imagenes

Estas en el tema de error al subir las imagenes en el foro de PHP en Foros del Web. tengo un error al subir las imagenes a mi web con una funcion que me he creado y los archivos son los siguientes. resize.php Código ...
  #1 (permalink)  
Antiguo 30/12/2005, 14:25
 
Fecha de Ingreso: agosto-2005
Mensajes: 9
Antigüedad: 18 años, 7 meses
Puntos: 0
error al subir las imagenes

tengo un error al subir las imagenes a mi web con una funcion que me he creado
y los archivos son los siguientes.
resize.php
Código PHP:
<?php
 
function imagendeancho($vFoto,$rutanueva,$nuevoancho,$id) {


    
$nFoto=$vFoto['name'];//nombre de la foto original
    
$tFoto=$vFoto['tmp_name'];//nombre de la foto temporal
    
$image_type strstr($nFoto'.');
    echo 
$image_type;

        switch(
$image_type) {
            case 
'.jpg':
                
$img imagecreatefromjpeg($tFoto);
                break;
            case 
'.png':
                
$img imagecreatefrompng($tFoto);
                break;
            case 
'.gif':
                
$img imagecreatefromgif($tFoto);
                break;
            default:
                echo(
"Error Invalid Image Type");
                die;
                break;
            }
            
$ancho imagesx($img);
            
$alto imagesy($img);
            
$ratio=$ancho/$alto;
            
$nuevoalto=$nuevoancho/$ratio;
            
$nuevafoto imagecreatetruecolor($nuevoancho,$nuevoalto); 
            
imagecopyresized($nuevafoto$img0000$nuevoancho$nuevoalto$ancho$alto); 
            
$r_nfoto=$rutanueva."imagen_".$id.".png";//crea una imagen en la ruta dada y como nombre imagen_+id
            
imagepng($nuevafoto,$r_nfoto,100);
            echo 
'<img src="'.$rutanueva."imagen_".$id.".png".'">';//muestra la imagen

}

?>
index.php

Código PHP:
<?php    
            
if($_POST['enviar'])
            {
                include(
"./resize.php");
                
imagendeancho($_FILES['foto'],"./",300,1);
            }
            else
            {
?>
            <form ENCTYPE="multipart/form-data" ACTION="./index.php" METHOD="post">
            <table>
            <td colspan="2"><b>Selecciona la imagen a transferir<b><br>
            <input type="file" name="foto"></td>
            <tr>
            <td colspan="2">
                <p><input type="submit" name="enviar" value="Aceptar" /></p></td><tr>
            </table>
            </form>
            <?php
            
}
?>
el caso es que no me sale ningun error y en mi servidor local me funciona. pero en el de internet no. ¿alguien me puede ayudar? Gracias.
  #2 (permalink)  
Antiguo 30/12/2005, 15:02
 
Fecha de Ingreso: agosto-2003
Mensajes: 47
Antigüedad: 20 años, 6 meses
Puntos: 0
podrias poner el error?
__________________
:borracho:http://ringoweb.war4.org:neurotico:
  #3 (permalink)  
Antiguo 30/12/2005, 18:11
Avatar de the_nosferatu  
Fecha de Ingreso: julio-2005
Ubicación: mi cuarto xD
Mensajes: 61
Antigüedad: 18 años, 8 meses
Puntos: 0
Error a la vista: si usas strstr entonces revisa de izquierda a derecha... osea si estás instentando sacar la extencion entonces yo puedo poner archivo.jpg.php y eso es inseguro... date una vuelta por http://electros.net/scripts/c/19/s/353 hay hize un script para blokear extenciones...
  #4 (permalink)  
Antiguo 02/01/2006, 04:28
 
Fecha de Ingreso: agosto-2005
Mensajes: 9
Antigüedad: 18 años, 7 meses
Puntos: 0
pero por que no me funcionara

el script de electro web lo adaptaré a mi web pero por que ¿no me funcionara? no sale nigun error es que mi sevidor es tan puto que no me saca los errores a la calle
  #5 (permalink)  
Antiguo 02/01/2006, 04:49
 
Fecha de Ingreso: agosto-2005
Mensajes: 9
Antigüedad: 18 años, 7 meses
Puntos: 0
script modificado

resize.php
Código PHP:
<?php
/*
Copyright (C) 2006 Francisco Javier Trujillo Jimenez
Este script es software libre . Puede redistribuirlo y/o modificarlo bajo los terminos de Licencia Pública General 
de GNU según ha sido publicada por la Free Sofrware Fundation, bien la versón 2 de dicha Licencia o bien cualquier version posterior.
*/
 
function imagendeancho($vFoto,$rutanueva,$nuevoancho,$id) {


    
$nFoto=$vFoto['name'];//nombre de la foto original
    
$tFoto=$vFoto['tmp_name'];//nombre de la foto temporal
    
$ext = Array("jpg","png","bmp","gif"); 
    for(
$i=0;$i<count($ext);$i++){ //hago un buche para fijarme si la extencion está...
    
if(ereg($ext[$i]."$"$nFoto)){ //si se encuntra la una de las extencion permitidas al final de la cadena
        
$si=true//entonces $si es igual a true
        
$image_type=$ext[$i];
        }
    }
//termino el bucle..
    
if($si)//si $si es igual a true (que ha sido declarado asi anteriormente) entonces.. subo el archivo
    
{
        switch(
$image_type) {
            case 
'jpg':
                
$img imagecreatefromjpeg($tFoto);
                break;
            case 
'png':
                
$img imagecreatefrompng($tFoto);
                break;
            case 
'gif':
                
$img imagecreatefromgif($tFoto);
                break;
            default:
                echo(
"Error Invalid Image Type");
                die;
                break;
            }
            
$ancho imagesx($img);
            
$alto imagesy($img);
            
$ratio=$ancho/$alto;
            
$nuevoalto=$nuevoancho/$ratio;
            
$nuevafoto imagecreatetruecolor($nuevoancho,$nuevoalto); 
            
imagecopyresized($nuevafoto$img0000$nuevoancho$nuevoalto$ancho$alto); 
            
$r_nfoto=$rutanueva."imagen_".$id.".png";//crea una imagen en la ruta dada y como nombre imagen_+id
            
imagepng($nuevafoto,$r_nfoto,100);
            echo 
'<img src="'.$rutanueva."imagen_".$id.".png".'">';//muestra la imagen
    
}
    else
    {
        echo 
"extension no valida";
    }
        

}

?>

Última edición por doctordriver; 02/01/2006 a las 04:55
  #6 (permalink)  
Antiguo 02/01/2006, 06:28
 
Fecha de Ingreso: agosto-2005
Mensajes: 9
Antigüedad: 18 años, 7 meses
Puntos: 0
encontré el error

el error hera que la carpeta la tenia protegida contra escritura ahora la he puesto 0777 sin proteccion ¿algun problema de seguridad por esto? si es así ¿como lo puedo solucionar?.
Cambiando de tema ¿alguien tiene algun script para que miestras se carga la imagen salga una barita de proceso?.
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.