Foros del Web » Programando para Internet » PHP »

Upload Script que no anda!!

Estas en el tema de Upload Script que no anda!! en el foro de PHP en Foros del Web. hola todos, estoy haciendo este script para subir archivos, siendo aun un novato en esto del php...quisiera saber que sucede con el, que no me ...
  #1 (permalink)  
Antiguo 01/04/2005, 19:18
Avatar de THE SILENT CULT  
Fecha de Ingreso: septiembre-2004
Ubicación: Chile
Mensajes: 17
Antigüedad: 19 años, 7 meses
Puntos: 0
Upload Script que no anda!!

hola todos, estoy haciendo este script para subir archivos, siendo aun un novato en esto del php...quisiera saber que sucede con el, que no me anda.

repito, soy un aprendiz y cualquier ayuda la agradezco enormemente de antemano.

saludos a todos!!!!

================================================== ========

<?php
$file_dir ="E:\\www\\upload\\";
$file_url = "http://127.0.0.1/upload";
if(isset($_FILES['fupload'])){

print "path: $fupload <br>\n";
print "name: $fupload_name <br>\n";
print "size: $fupload_size <br>\n";
print "type: $fupload_type <br>\n";

if($_FILES['fupload_type'] == "image/gif"){

copy ($_FILES['fupload'], "$file_dir/$fupload_name") or die ("Imposible Copiar!");

print "<img src=\"$file_url/$fupload_name\"><p>\n\n";
}
}
?>

<form enctype="multipart/form-data" action="<?php print $_FILES['PHP_SELF'] ?>" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="51200">

<input type="file" name="fupload">

<br>

<input type="submit" value="Subir!">

</form>

================================================== ========
__________________
EN ESTE MUNDO HAY 0010 TIPOS DE PERSONAS: LOS QUE ENTIENDEN BINARIO Y LOS QUE NO.
  #2 (permalink)  
Antiguo 01/04/2005, 19:34
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Debes usar variables super globales
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 01/04/2005, 19:41
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Favor de indicar los errores exactos para poder ayudarte mejor.

... Las caracteristicas del archivo se obtienen de la forma $_FILES['archivo']['type'] ... por ejemplo.. no $_FILES['fupload_type'] como veo (creo) que haces...

... ¿qué intentas hacer con <?php print $_FILES['PHP_SELF'] ?>???... si lo que quieres hacer es que se imprima la página actual para que se llame a sí misma.. cambialo por <?=$_SERVER['PHP_SELF'] ?>...

Te recomiendo visites:
http://mx2.php.net/manual/es/features.file-upload.php
http://www.forosdelweb.com/search.php?forumid=18

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 01/04/2005, 19:54
Avatar de THE SILENT CULT  
Fecha de Ingreso: septiembre-2004
Ubicación: Chile
Mensajes: 17
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias por la ayuda!

Si usara variables super globales deberia hacer:

if($_POST['fupload_type'] == "image/gif") ?? por ejemplo?

mi problema "exacto" es que el script a pesar de no arrojar ningun error, no hace el upload simplemente.

al principio descarté el tema firewall, todo en ese sentido opera con normalidad.

nuevamente gracias
__________________
EN ESTE MUNDO HAY 0010 TIPOS DE PERSONAS: LOS QUE ENTIENDEN BINARIO Y LOS QUE NO.
  #5 (permalink)  
Antiguo 01/04/2005, 19:55
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Mira visita este link
y ve como trabajan con las variables superglobales
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #6 (permalink)  
Antiguo 02/04/2005, 18:54
Avatar de THE SILENT CULT  
Fecha de Ingreso: septiembre-2004
Ubicación: Chile
Mensajes: 17
Antigüedad: 19 años, 7 meses
Puntos: 0
mas info:

esto obtengo ahora:

Warning: copy(e:/www/upload/): failed to open stream: Permission denied in e:\www\php_pruebas\upload.php on line 13

Warning: move_uploaded_file(http://localhost/upload): failed to open stream: HTTP wrapper does not support writeable connections. in e:\www\php_pruebas\upload.php on line 18

Warning: move_uploaded_file(): Unable to move 'E:/www/upload\php7D3.tmp' to 'http://localhost/upload' in e:\www\php_pruebas\upload.php on line 18


necesito ayuda ya no se que hacer con esto!!!

gracias de antemano a todos
__________________
EN ESTE MUNDO HAY 0010 TIPOS DE PERSONAS: LOS QUE ENTIENDEN BINARIO Y LOS QUE NO.
  #7 (permalink)  
Antiguo 02/04/2005, 20:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Te dejé un ejemplo de cómo se usa la variable super global $_FILES[]... e inmediatamente después... mencionas de nuevo el error que ya habia mencionado...

¿haz vistado el link que te dejé?

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 05/04/2005, 20:40
Avatar de THE SILENT CULT  
Fecha de Ingreso: septiembre-2004
Ubicación: Chile
Mensajes: 17
Antigüedad: 19 años, 7 meses
Puntos: 0
GRACIAS JAM...erré en la forma como presente mi problema...

la variable super global $_FILES para $fupload_name, type, y size ($_FILES['fupload']['name'] etc...) me anda, en eso no tengo problemas ya.

mi problema es ahora mas bien basico:

al dejar register_globals en On en e. php.ini, el script me anda sin ningun problema. sin embargo, si dejo register_globals en Off, el script no arra errores pero TAMPOCO ANDA.

te dejo el script final:

Código PHP:
<?php

    $fupload 
$_GET['fupload'];
    
$fupload_name $_FILES['fupload']['name'];
    
$fupload_size $_FILES['fupload']['size'];
    
$fupload_type $_FILES['fupload']['type'];
    
    
    
$file_dir ="/www/upload";
    
$file_url "http://localhost/upload";
    
    if(isset(
$fupload)){
        
        if(
$_FILES['fupload']['type'] == "image/gif"){
        
            print 
"path: $fupload<br>\n";
            print 
"name: ".$_FILES['fupload']['name']." <br>\n";
            print 
"size: ".$_FILES['fupload']['size']." <br>\n";
            print 
"type: ".$_FILES['fupload']['type']." <br>\n";
            
            
copy ($fupload"$file_dir/$fupload_name") or die ("Imposible Copiar!");
            
            print 
"<br><br><img src=\"$file_url/$fupload_name\"><p>\n\n";
        }else{
        
            print 
"<h1>Archivo no soportado!</h1>";
        }
    
    }
?>

<form enctype="multipart/form-data" action="<?php print $_SERVER['PHP_SELF'?>" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="2000000">

<input type="file" name="fupload">

<br>

<input type="submit" value="Subir!">

</form>

</form>
GRACIAS DE ANTEMANO A TODOS POR LA AYUDA QUE ME HAN BRINDADO CON ESTO!
__________________
EN ESTE MUNDO HAY 0010 TIPOS DE PERSONAS: LOS QUE ENTIENDEN BINARIO Y LOS QUE NO.
  #9 (permalink)  
Antiguo 06/04/2005, 06:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
no te sirve porque el method de tu formulario es POST... y haces un $fupload = $_GET['fupload']; pàra posteriormente if(isset($fupload)){... no recibes la variable por $_GET por lo que no se define tu $fupload por lo que no entras al bloque dentro de tu if...

Fuera de eso... no sé que pretendas con $fupload = $_GET['fupload']... esta mal... no puedes asignarlo directamente... además el uso de copy() esta obsoleto.. en su lugar ocupa move_uploaded_file()... ... y creo es todo... en cuestión de errores... ahora bien, prueba esto:
Código PHP:
<html><head><title>Subiendo Archivos</title></head><body>
<?php
if(isset($_POST['subir'])) { // He asignado esto para que solo se ejecute si se dió click al botón enviar
   
    
if(is_uploaded_file($_FILES['fupload']['tmp_name'])){
        
        if(
$_FILES['fupload']['type'] == "image/gif"){

            
$fupload_name $_FILES['fupload']['name'];
            
$fupload_size $_FILES['fupload']['size'];
            
$fupload_type $_FILES['fupload']['type'];
            
$file_dir ="imagenes"// crea un directorio "imagenes" en la carpeta donde este este archivo
        
            
if (move_uploaded_file($_FILES['fupload']['tmp_name'], "$file_dir/$fupload_name")){ // acá es donde lo terminamos de subir
                
echo "<br><br><img src=\"$file_dir/$fupload_name\"><p>\n\n"// lo mostramos
                
echo "Nombre: ".$fupload_name."<br>";
                echo 
"Tamaño: ".$fupload_size."<br>";
                echo 
"Tipo: ".$fupload_type."<br>";
                echo 
"Ubicación: <a href=\"$fupload_name\">http://localhost/$file_dir/$fupload_name</a><br>";
            } else echo 
"Error al subir el archivo";
        } else echo 
"<h1>Archivo no soportado!</h1>";    
    } else echo 
"Error al intertar subir el archivo ".$_FILES['fupload']['name'];
}
?>

<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'?>" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="2000000">

<input type="file" name="fupload">

<br>

<input type="submit" name="subir" value="Subir!">

</form>

</form></body></html>
... algo que seguro podrás adaptar a lo que necesitas. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 06/04/2005 a las 06:15
  #10 (permalink)  
Antiguo 21/07/2005, 10:35
Avatar de baccxus  
Fecha de Ingreso: mayo-2005
Ubicación: Panama city, Panama, Panama
Mensajes: 870
Antigüedad: 18 años, 10 meses
Puntos: 17
Traté de usar este último script de Jam, y todo perfecto, hasta que necesité subir archivos JPG, cambié de extensión de gif a jpeg y jpg pero me salia el error:
ARCHIVO NO SOPORTADO!.

Así que comencé a investigar y la conclusión era la siguiente: Tipo de archivo "pjpeg" y así lo coloqué donde antes estaba gif y todo funcionó,

GRACIAS y chao
cambié
Código:
if($_FILES['fupload']['type'] == "image/gif"){
por
Código:
if($_FILES['fupload']['type'] == "image/pjpeg"){
Saludos
__________________
Al final del día hablar es gratis, codificar no lo es

Última edición por baccxus; 21/07/2005 a las 12:44
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 20:00.