Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2009, 23:51
PetBang
 
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..