Foros del Web » Programando para Internet » PHP »

Problemas en subir imagenes

Estas en el tema de Problemas en subir imagenes en el foro de PHP en Foros del Web. Hola gente tengo este codigo que me esta volviendo loco y no logro hacerlo funcionar. if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 15.000))) ...
  #1 (permalink)  
Antiguo 02/09/2005, 08:35
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Problemas en subir imagenes

Hola gente tengo este codigo que me esta volviendo loco y no logro hacerlo funcionar.

if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 15.000))) {

la idea es que si el $tipo_archivo es jpg o gif y menor de 15K salga por el falso por so me imagino que esta el ! de lo contrario salga por el verdadero.

Alguine me puede aclarar esto
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 02/09/2005, 08:52
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
HOLA, probe tu codigo y me anda bien, salvo que la funcion strpos no creo
que te sirve bien si parte del nombre del archivo es gif o jpg como imagif.zip

<?
$tipo_archivo="commgif.jpg";
$tamano_archivo=10;
if(!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpg"))&&($tamano_archivo < 15.000))){
echo "error archivo invalido";
}else{
echo "archivo valido";
}

?>
  #3 (permalink)  
Antiguo 02/09/2005, 08:57
 
Fecha de Ingreso: agosto-2005
Mensajes: 101
Antigüedad: 18 años, 8 meses
Puntos: 0
A parte de lo que ha dicho klyfa, que creo que tiene razon, aunque no creo que hayas puesto ningun nombre de archivo que contenga esas letras, prueba a quitar el punto en 15.000.
  #4 (permalink)  
Antiguo 06/09/2005, 07:30
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Sigo teniendo el ismo problema, creo que el tema es los archivos jpg, miren coloco esto

if (((!strpos($tipo_archivo, "gif")) && ($tamano_archivo < 15000))) {

y cuando cargo un archivo .gif funciona bien pero cuando hago esto

if (((!strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 15000))) {

No me funciona, me sale por el false, como si no reconopciera a ese archivo .jpg

¿Que puede ser?

Klyfa: estoy comprobando nada mas que la extencion.
$archivo=$_FILES["archivo"];
$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];

???
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #5 (permalink)  
Antiguo 06/09/2005, 07:33
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
El problema es q los types de los .jpg son image/jpeg, por lo tanto no encuentra jpg en la cadena.
  #6 (permalink)  
Antiguo 06/09/2005, 07:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
fijate si esto te sirve
<?php
$archivo_name="prueba.gif";
$archivo_size=40000;
$extension = explode(".",$archivo_name);
$num = count($extension)-1;
if(($extension[$num] == "jpg")||($extension[$num] == "gif")){
if($archivo_size < 30000)echo "archivo correcto";
else echo "el archivo supera los 30kb";
}
else echo "el formato de archivo no es valido";
?>
  #7 (permalink)  
Antiguo 06/09/2005, 08:44
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
GRACIASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

funciono, quedo asi

if (!((($extension[$num] == "jpg")||($extension[$num] == "gif")) && ($tamano_archivo < 15000))) {

ahora una consulta, ya qeu no se mucho de php y la idea es ir entendiendolo de apoco, ¿que significa?

$num = count($extension)-1;

Gracias sos un fenomeno
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #8 (permalink)  
Antiguo 06/09/2005, 08:53
 
Fecha de Ingreso: septiembre-2005
Ubicación: Bs as, capital
Mensajes: 77
Antigüedad: 18 años, 7 meses
Puntos: 0
Utiliza las propiedades del FILE para poder saber que tipo de extension son y que tamaño tienen los archivos que se quieren levantar, por ejemplo:

$archivo=$_FILES["archivo"]["name"];
$archivo_size=$_FILES["archivo"]["size"];
$archivo_type=$_FILES["archivo"]["type"];

if($archivo_type!="image/jpg" && $archivo_type!="image/jpeg" && $archivo_type!="image/gif"){
echo "Tipo de archivo incorrecto, solo puden ser imagenes gif, jpg o jpeg";
}
  #9 (permalink)  
Antiguo 06/09/2005, 09:58
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
Aqui te pongo la explicacion del codigo anterior:
$extension = explode(".",$archivo_name);
//divide una cadena devolviendo una matriz de cadenas, teniendo en cuenta el saparador en este caso el ".";
$num = count($extension)-1;
// y count devuelve los elementos de una matris, en este ejemplo $extension
tiene dos elementos $extension[0]="archivo" y $extension[1]="jpg" por ejemplo.
$num = count($extension)-1; //en este caso $num valdria 1 ya uqe mi mattris
tiene dos elementos y asi hago referencia al elemento $extension[1].
ESTO es por si el archivo seleccionado tiene mas de un punto.
  #10 (permalink)  
Antiguo 06/09/2005, 18:13
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Muchas gracias ahora si se entiende
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
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 17:10.