Foros del Web » Programando para Internet » PHP »

No consigo crear una función para subir imágenes

Estas en el tema de No consigo crear una función para subir imágenes en el foro de PHP en Foros del Web. MegaFotos 2.51 Hola ante todo y gracias de antemano por vuestra magnifica ayuda y por esta página tan buena, soy programador desde hace unos años ...
  #1 (permalink)  
Antiguo 22/01/2009, 23:51
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
No consigo crear una función para subir imágenes

MegaFotos 2.51

Hola ante todo y gracias de antemano por vuestra magnifica ayuda y por esta página tan buena, soy programador desde hace unos años pero soy nuevo en PHP apenas unas semanas y me cuesta familiarizarme con el lenguaje.

Descripción:
En mi página personal quería hacer un modulo para que mis amigos puedan tener un espacio para incluir sus fotografías, entonces vi en internet un script llamado PhotoFoder muy sencillo que sorprendentemente solo es un único archivo y sin base de datos mysql Genial! el script lo he modificado por completo pero le faltaban algunas cosas que son las que me gustaría saber si me podiais echar una mano, y a continuación describo el proyectito y publico por supuesto los códigos para que todos os beneficies de modificación si os interesa, los apartados son los siguientes:

1. Me gustaría poder crear carpetas, ya que este magnífico script genera automáticamente miniaturas de las carpetas del directorio padre. (Eliminar y renombrar no hace falta porque ya es capaz de hacerlo).

2. Lo que más me esta costando es poder subir foto al directorio actual, os explico:
Realice en flash un formulario a medida para subir archivos al servidor, este formulario se beneficia de un script en php para configurarle el directorio, pero me ocurre el siguiente problema..

Código PHP:
Código original (incrustado en index.php que es el único archivo que hay):
    
//Upload de directorios
        //Ruta del directorio actual y condicionante
        
if(empty($HTTP_GET_VARS['path'])) $storage "";
        else 
$storage $HTTP_GET_VARS['path'] . "/";
        
//ruta del fichero a almacenar
        
$uploadfile "$storage" basename$_FILES['Filedata']['name'] );
        
//si es correcta la subida del fichero
        
if ( move_uploaded_file$_FILES['Filedata']['tmp_name'] , $uploadfile ) ) {
            echo( 
'1 ' $_FILES['Filedata']['name']);
        
//si falla la subida del fichero
        
}else{
            echo(
'');
        } 
*Si os fijáis he hecho una condición que quita el separado '/' ¿Por que?, pues porque cuando nos encontramos en el directorio padre la ruta a subir archivos estaría en blanco, por el contrario, si estuviéramos en una carpeta el directorio ya si contendría separador, el problema creo que esta en la siguiente condición del código anterior:

Código PHP:
        if(empty($HTTP_GET_VARS['path'])) $storage "";
        else 
$storage $HTTP_GET_VARS['path'] . "/"
aquí es donde en teoría comprueba el directorio actual, el caso es que he probado a poner un 'echo('$storage');' para comprobarlo y si que funciona pero no consigo hacer que suba ningún fichero.

¡Lo curioso¡ que si cambio las anteriores líneas y establezco una carpeta que se encuentre en el directorio padre, por ejemplo, 'Pajaros' siendo así el código sí funciona y sube el archivo a la carpeta correctamente:

Código PHP:
    //Upload de directorios
      
$storage "Pajaros/";
        
//ruta del fichero a almacenar
        
$uploadfile "$storage" basename$_FILES['Filedata']['name'] );
        
//si es correcta la subida del fichero
        
if ( move_uploaded_file$_FILES['Filedata']['tmp_name'] , $uploadfile ) ) {
            echo( 
'1 ' $_FILES['Filedata']['name']);
        
//si falla la subida del fichero
        
}else{
            echo(
'');
        } 

Espero que me podáis ayudar, ahora os pongo un enlace con el código fuente y el código fuente del upload en Flash.
ht*p://www.pescaarte.es/download/megafotos.rar

(Al ejecutar por primera vez tiene un formulario de configuración muy sencillo y agradable, he adjuntado una carpeta con una imagen para que el script al generar el cache reconozca la carpeta).

*Por si os interesa os dejo también una dirección de un ejemplo en mi web por si os sirve de algo.
ht*p://www.pescaarte.es/public/megafotos/demo/

Espero que me haya explicado bien jeje ahora me voy a la cama que estoy muerto de sueño..
  #2 (permalink)  
Antiguo 23/01/2009, 00:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No consigo crear una función para subir imágenes

bueno, el problema es que si no existe la carpeta... pues no se sube!!

debes comprobarlo usando is_dir() y si no existe, ya sabes....

Código PHP:
if ( ! is_dir($storage))
{
  
mkdir($storage);

incluso, debes ir mas allá... y hacer las cosas mas seguras, por favor revisa la documentación, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/01/2009, 08:41
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: No consigo crear una función para subir imágenes

pateketrueke he intentado lo que me pusiste pero nada.. el caso es que la carpeta ya existe y tampoco lo sube.. es como si la variable que contiene la ruta al subir archivos se quedara en blanco, de todas formas eso me vale para crear un boton y crear carpetas. Gracias
  #4 (permalink)  
Antiguo 03/02/2009, 18:58
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: No consigo crear una función para subir imágenes

Hola bueno yo tambien soy un novato del php, soy egresado de ingenieria de sistemas, y bueno e tenido algunos errores y viendo tu problema dejame darte un truco que me ha ayudado muchisimo en mi corto aprendizaje de este lenguaje...

echo "<br/>" . var_dump($HTTP_GET_VARS). "<br/>";

mira al hacer esto podras ver que contiene esa variable..alli te va a lanzar un array con todo lo que contiene $HTTP_GET_VARS.... y al ejecutar tu codigo php vas a ver si en realidad existe ese directorio.

A mi me a valido muchisimo el var_dump() pues e conseguido ver los elementos de algun array.

Espero te sirva, un saludo hasta pronto...
  #5 (permalink)  
Antiguo 03/02/2009, 19:25
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: No consigo crear una función para subir imágenes

Petbang:

Prueba cambiando ->

Cita:
$HTTP_GET_VARS['path']
Y trata utilizando la funcion ->

getcwd()

Saludos
Franco
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:54.