Foros del Web » Programando para Internet » PHP »

duda con campo de archivo en php

Estas en el tema de duda con campo de archivo en php en el foro de PHP en Foros del Web. Hola amigos del foro tengo una duda y paso a explicarles rapido lo que deseo hacer. Estoy desarrollando un sistema en php con dreamweaver y ...
  #1 (permalink)  
Antiguo 08/10/2009, 12:20
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
duda con campo de archivo en php

Hola amigos del foro tengo una duda y paso a explicarles rapido lo que deseo hacer.

Estoy desarrollando un sistema en php con dreamweaver y cuando el usuario ingresa a una pagina llamada RIforme.php examinara un archivo o subira un archivo al servidor como mejor entiendan,pero necesito guardar la ruta de ese archivo en una variable para guardarla en la base de datos porque se guardara en una tabla llamada Informe con los siguientes campos id_informe,nombre_archivo,estado e id cliente. los demas datos ya los tengo para insertarlos en la tabla a exepcion del nombre_archivo que no se como obtener el nombre del archivo o la ruta si me ayudan se los agradecere.
  #2 (permalink)  
Antiguo 08/10/2009, 12:28
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: duda con campo de archivo en php

$_FILE['nombre_input']['name'] <- donde nombre_input es el nombre del input tipye file

Código HTML:
<input name="nombre_input" type="file" /> 
  #3 (permalink)  
Antiguo 08/10/2009, 12:41
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: duda con campo de archivo en php

Samu eso si lo tengo pero ahora lo que quiero es el valor de esa cadena osea tengo esto mira

<?php
if($_POST){
$x=$_FILES ["prueba"]["name"];
$y = $_GET["prueba"]["name"];
echo $y;
$destino = 'Informe/'.$x ; // Carpeta donde se guardara
$sep=explode('image/',$_FILES["prueba"]["type"]); // Separamos image/
move_uploaded_file ( $_FILES ['prueba']['tmp_name'],$destino); // Subimos el archivo
}else
{
//echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos
}
?>

en mi variable $x es donde obtengo el nombre del archivo pero como guardo lo que traiga esa variable en la bd? ya la puse en un campo de texto con un <?php echo $x?> pero no se ve nada
  #4 (permalink)  
Antiguo 08/10/2009, 12:47
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: duda con campo de archivo en php

con un mysql_query()

Código php:
Ver original
  1. <?php
  2. if($_POST){
  3.        $x=$_FILES ["prueba"]["name"];
  4.        $destino = 'Informe/'.$x ; // Carpeta donde se guardara
  5.        $sep=explode('image/',$_FILES["prueba"]["type"]); // Separamos image/
  6.        if(move_uploaded_file ( $_FILES ['prueba']['tmp_name'],$destino){
  7.                 mysql_connect('datos');
  8.                 mysql_query('INSERT INTO...');
  9.        }
  10. }else {//echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo   desimos
  11. }
  12. ?>
  #5 (permalink)  
Antiguo 08/10/2009, 12:54
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: duda con campo de archivo en php

Oye solo una duda ahi puedo hacer cualquier insert que desee verdad?,pero solo dime ese Mysql('datos') de donde sale y como lo inserto en la bd esa variable bueno ya se que con el insert pero cual variable le dare a insertar o como le pongo insert into informe values nombre_archivo=??,la verdad es que soy novata en esto del php....
  #6 (permalink)  
Antiguo 08/10/2009, 13:09
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: duda con campo de archivo en php

Cita:
Iniciado por Bertitha Ver Mensaje
Oye solo una duda ahi puedo hacer cualquier insert que desee verdad?,pero solo dime ese Mysql('datos') de donde sale y como lo inserto en la bd esa variable bueno ya se que con el insert pero cual variable le dare a insertar o como le pongo insert into informe values nombre_archivo=??,la verdad es que soy novata en esto del php....
Cita:
Iniciado por Manul oficial
resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )
'datos' son los datos que tendrias que poner para conectarte a la base de datos, una ves que estas conecatada a la misma haces un insert

Código php:
Ver original
  1. $sql = "INSERT INTO informe (`nombre_archivo`,`estado`,`id_cliente`)
  2. VALUES ('$x',1,$idCliente)";
  #7 (permalink)  
Antiguo 08/10/2009, 13:30
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: duda con campo de archivo en php

Que va contigo dejame probarlo y te aviso si me funciono o no,esque mi consulta ya la tengo y la hice con el asistente que trae el dreamweaver entonces dejame agrego ahi la variable $x......mil gracias
  #8 (permalink)  
Antiguo 08/10/2009, 13:34
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: duda con campo de archivo en php

Cita:
Iniciado por Bertitha Ver Mensaje
Que va contigo dejame probarlo y te aviso si me funciono o no,esque mi consulta ya la tengo y la hice con el asistente que trae el dreamweaver entonces dejame agrego ahi la variable $x......mil gracias
una recomendacion practica, alejate del dw y utiliza algun editor de texto, notepadd++, algo mas para desarrollo un IDE, como zend Studio, PHPed, pero Dw es un front page moderno, o utiliza la vista de codigo y no la de diseño, ya que de esa forma nunca se avanza.
  #9 (permalink)  
Antiguo 08/10/2009, 13:54
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: duda con campo de archivo en php

Gracias por la recomendacion.....oye veo que tienes bastante experiencia,cuando tenga alguna duda puedo consultarte directamente??? claro si me lo permites.
  #10 (permalink)  
Antiguo 08/10/2009, 14:03
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
OYE SAMU NO ME SALE MIRA TENGO ESTE CODIGO PARA EL INSERT Y DONDE OBTENGO EL VALOR DE LA PRIMER VARIABLE QUE ES $x NO SE COMO PONERLO AHI PORQUE LO QUE GUARDA LA VARIABLE $X ES $x=$_FILES ["prueba"]["name"]; MI PREGUNTA ES QUE PONGO AQUI GetSQLValueString($_POST['$x'], "text"), ESQUE VES QUE TE DIGO QUE ESTO ME LO GENERA EL ASISTENTE ENTONCES NO SE MUCHO.

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO informe (nombre,estatus, id_cliente) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['$x'], "text"),
GetSQLValueString($_POST['estatus'], "int"),
GetSQLValueString($_POST['id_cliente'], "int"));

mysql_select_db($database_Connexion, $Connexion);
$Result1 = mysql_query($insertSQL, $Connexion) or die(mysql_error());
}

Lo he logrado SAMU con esto:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO informe (nombre,estatus, id_cliente) VALUES (%s, %s, %s)",
GetSQLValueString($_FILES['prueba'] ['name'], "text"),
GetSQLValueString($_POST['estatus'], "int"),
GetSQLValueString($_POST['id_cliente'], "int"));

mysql_select_db($database_Connexion, $Connexion);
$Result1 = mysql_query($insertSQL, $Connexion) or die(mysql_error());
}

esto era lo que necesitaba yupi yupi...... muchas gracias

Última edición por GatorV; 08/10/2009 a las 14:26
  #11 (permalink)  
Antiguo 08/10/2009, 14:20
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: duda con campo de archivo en php

Cita:
Iniciado por Bertitha Ver Mensaje
OYE SAMU NO ME SALE MIRA TENGO ESTE CODIGO PARA EL INSERT Y DONDE OBTENGO EL VALOR DE LA PRIMER VARIABLE QUE ES $x NO SE COMO PONERLO AHI PORQUE LO QUE GUARDA LA VARIABLE $X ES $x=$_FILES ["prueba"]["name"]; MI PREGUNTA ES QUE PONGO AQUI GetSQLValueString($_POST['$x'], "text"), ESQUE VES QUE TE DIGO QUE ESTO ME LO GENERA EL ASISTENTE ENTONCES NO SE MUCHO.

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO informe (nombre,estatus, id_cliente) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['$x'], "text"),
GetSQLValueString($_POST['estatus'], "int"),
GetSQLValueString($_POST['id_cliente'], "int"));

mysql_select_db($database_Connexion, $Connexion);
$Result1 = mysql_query($insertSQL, $Connexion) or die(mysql_error());
}
el insert lo tenes que hacer en el mismo fichero donde procesas el archivo, sino la variable x va a estar vacia,

cuando procesas la imagen que subiste comprobas que el archivo se haya movido del temporal
en esta linea
Código php:
Ver original
  1. <?php
  2.         //[...]
  3. if(move_uploaded_file ( $_FILES ['prueba']['tmp_name'],$destino){

insertas el registro a la base de datos, en el formulario donde tenes el input de archivo deberias agregar un input type="hidden" con el valor del id de cliente, ya que es un dato que necesitas insertar

Código HTML:
<input type="hidden" name="idCliente" value="<?php $id_cliente ?>" /> 
con esto al enviar la imagen tambien enviaras $_POST['idCliente'] y tendras los datos necesarios para insertar el registro, que deberia quedarte algo asi:

Código php:
Ver original
  1. <?php
  2. if($_POST){
  3.        $x=$_FILES ["prueba"]["name"];
  4.        $destino = 'Informe/'.$x ; // Carpeta donde se guardara
  5.        $sep=explode('image/',$_FILES["prueba"]["type"]); // Separamos image/
  6.        if(move_uploaded_file ( $_FILES ['prueba']['tmp_name'],$destino){
  7.                 mysql_connect('localhost','root','pass');
  8.                 mysql_select_db('nombre_base_de_datos');
  9.                 $sql = "INSERT INTO informe (`nombre_archivo`,`estado`,`id_cliente`)
  10.                            VALUES ('$x',1,$_POST['idCliente'])";
  11.                 mysql_query($sql);
  12.        }
  13. }else {//echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo   desimos
  14. }
  15. ?>
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 11:29.