Foros del Web » Programando para Internet » PHP »

Donde esta el fallo

Estas en el tema de Donde esta el fallo en el foro de PHP en Foros del Web. haber quiero subir una imagen, tengo una carpeta en C:\wamp\php\tmp, una tabla en la base de datos con ID y IMAGEN, y el código de ...
  #1 (permalink)  
Antiguo 18/05/2005, 02:36
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación Donde esta el fallo

haber quiero subir una imagen, tengo una carpeta en C:\wamp\php\tmp, una tabla en la base de datos con ID y IMAGEN, y el código de la página que tengo es el siguiente:
Código PHP:
<?php 
session_start
();
?>

<?php
include("Comunes/head.inc");
$role[0]=1;

$s=new sesion;
$s->requerido($role);
?>


<!--////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- incluimos este archivo que contiene la parte del menu y del banner de jasber que va cambiando -->
<!--////////////////////////////////////////////////////////////////////////////////////////////// -->
<?php
include("Comunes/menu.inc");
?>

<?php 
$connect
mysql_connect("localhost","sanjo","") or die ("");
mysql_select_db("jasber");

?>
<?php 
if (isset ($addubica)) {
echo 
"entro";
print 
"$upimagen = upimagen ";
print 
"$upimagen_name = upimagen_name ";
print 
"$upimagen_type = upimagen_type ";
print 
"$upimagen_size = upimagen_size ";

$newimage sprintf ("Imagenes/Nuevos/%s"$upimagen_name);
move_uploaded_file($upimagen$newimage);

mysql_select_db($database_travconn$travconn);
$sql "INSERT INTO ubicacion  VALUES ('','$newimage')";
$result mysql_query($sql);
}
?>

<!--///////////////////////////////// --> 
<!--esto es para el carro de la compra--> 
<!--///////////////////////////////// -->

<tr> 
    <td width="116"  bgcolor="#FFFFFF">
        <table width="756" border="1" bordercolor="#000099" cellpadding="0" align="left"cellspacing="0">
      <tr> 
        <td width="83%" bgcolor="#000099"> <a class="tituloenzabezado">JASBER&gt;&gt;PANEL 
          DE CONTROL</a><br> </td>
      </tr>
      <tr> 
        <td  class="gris">&nbsp;</td>
      </tr>
      <!--///////////////////////////////////////////////////////////////////////////////////////// -->
      <!--con esto empezamos a mostrar los resultados de las consultas, texto explicativo de arriba -->
      <!--///////////////////////////////////////////////////////////////////////////////////////// -->
      <tr> 
        <td valign="top">
        <form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="ubicaform2" id="ubicaform2">

<input name="addubica" type="submit" id="addubica" value="subir imagen"> 

Imagen: <input name="upimagen" type="file" id="upimagen">

</form>
&nbsp; </td>
      </tr>
    </table>
el tema es que ni me insertar en la tabla, ni se copia n¡ngun archivo temporal en el directorio tmp de c\wamp\tem, ademas en mi php tengo lo siguiente:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir =c:/wamp/php/tmp/

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M



GRACIAS ESPERO QUE ME PUEDEN AYUDAR, GRACIAS
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #2 (permalink)  
Antiguo 18/05/2005, 02:41
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
he logrado que lo inserte en la tabla, el fallo ers en el isst ($_post.....
pero el tema es que no me coje informaciónd e la imagen, ni me la guerda en el tmp, me la inserta solo Como Imagenes/Nuevos/
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #3 (permalink)  
Antiguo 18/05/2005, 02:44
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
me parece que el fallo esta aqui, porque no coje ninguna infomación:


print "$upimagen = $_POST[upimagen] ";
print "$upimagen_name = $_POST[upimagen_name] ";
print "$upimagen_type = $_POST[upimagen_type] ";
print "$upimagen_size = $_POST[upimagen_size] ";
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #4 (permalink)  
Antiguo 18/05/2005, 03:06
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
El primer error q veo al paso, es q usas $_POST para subir archivos, se debe usar $_FILE, esta global te dará una matríz asociativa, es decir algo como $_FILES["upimagen"]["name"], el nombre del archivo, $_FILES["upimagen"]['tmp_name'], te dará el nombre temporal del archivo q fue subido, es decir el q le crea PHP cuando lo sube a una carpeta temporal.
Algo funcional:
Código PHP:
    $upimage $_FILES["upimage"];
    
$prefijo time();
    
$url "/imgs/2005/";
    
$directorio $_SERVER['DOCUMENT_ROOT'].$url;
    
$ruta $directorio.$prefijo.$upimage["name"];
    if (
move_uploaded_file($upimage['tmp_name'],$ruta)){echo "El archivo ha sido cargado correctamente.<br>/n"
    }else{echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.<br>/n";
       
$upimage['userfile']['error'];} 
Saludos cuidate
PD: Puede haber otros errores, no se si en el HTML ocurre algo cuando pones el botón del submit antes del input donde ingresas el archivo a subir.
Pruebalo ahí
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 18/05/2005, 04:02
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
me podrias pasa run ejmplito please
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #6 (permalink)  
Antiguo 18/05/2005, 04:04
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
pongo esto ahora y no me va tampoco, me escribe un array

<?php if (isset ($_POST[addubica])) {
echo "entro";
print "$upimagen = $_FILES[upimagen] ";
print "$upimagen_name = $_POST[upimagen_name] ";
print "$upimagen_type = $_POST[upimagen_type] ";
print "$upimagen_size = $_POST[upimagen_size] ";

$newimage = sprintf ("Imagenes/Nuevos/%s", $upimagen_name);
move_uploaded_file($upimagen, $newimage);


$sql = "INSERT INTO ubicacion VALUES ('','$newimage')";
$result = mysql_query($sql);
}
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #7 (permalink)  
Antiguo 18/05/2005, 04:21
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
ayuda please, me parece que el fallo esta a1qui


print "$upimagen_name = $_POST[upimagen_name] ";
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #8 (permalink)  
Antiguo 18/05/2005, 04:29
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
formulario
Código HTML:
<form name="insertar" action="datos.php" method="POST" enctype="multipart/form-data">
<tr>
<td><b>TÍTULO:</b></td>
<td><input type="text" name="titulo" size="60"></td></tr>
<tr>
<td><b>NOTA:</b></td><td><textarea name="nota" cols="46" rows="10"></textarea></td>
</tr>
<tr>
<td><b>IMAGEN:</b></td><td><input type="file" name="img1" size="44"></td></tr>
<tr>
<td><b>COPETE IMAGEN:</b></td><td><input type="text" name="copete_img1" size="60"></td></tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="INGRESAR INFORMACIÓN">
</td></form></tr> 
datos.php
Código PHP:
<?
foreach($_POST as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".addslashes($valor)."';";
    eval(
$asignacion);}
foreach(
$_FILES as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".$valor."';";
    eval(
$asignacion);}
?>
<?
if(empty($_FILES["img1"]["name"])){
    
$img1 "";
    
$ruta "";
    }else{
    
$img1 $_FILES["img1"]; //pasamos la matriz a la variable $img1 para trabajar más fácil
    
$prefijo time(); //esto evitará q subamos img con el mismo nombre. Se reescribiría la primera
    
$url "/imgs/2005/"//carpeta donde guardarás tus imgs
    
$directorio $_SERVER['DOCUMENT_ROOT'].$url//sacamos el path hacia index
    
$ruta $directorio.$prefijo.$img1["name"]; //concatenamos todo (/www/htdocs/mi_sitio/imgs/2005/mi_imagen.jpg)
    
if (move_uploaded_file($img1['tmp_name'],$ruta)){
        echo 
"El archivo ha sido cargado correctamente.<br>/n"//movemos el archivo temporal guardado por PHP hacia la carpeta donde se guardará definitivamente, si no hacemos esto, PHP borrar la img temporal. 
    
}else{
        echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.<br>/n";
       
$img1['userfile']['error'];}
}
mysql_query("INSERT INTO tu_tabla (titulo,nota,img1,copete_img1,) VALUES('$titulo','$nota','$ruta','$copete_img1')") or die(mysql_error()); //insertamos los datos en la DB, nótese q ingresamos la $ruta y no $img1, es decir q en la DB guardamos el path hacia la img y no la imagen en sí.
?>
__________________
Dios dira que esto no es justo, pero lo sera...

Última edición por sebtev; 18/05/2005 a las 04:42
  #9 (permalink)  
Antiguo 18/05/2005, 07:42
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 10 meses
Puntos: 0
gracuias tio, lo voy a probar a ve r si me va asi o ke
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
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 18:57.