Ver Mensaje Individual
  #13 (permalink)  
Antiguo 28/11/2007, 19:47
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: subir un archivo y guardar ruta en base de datos

Ya te dije, detesto los códigos elaborados con DW. Sin embargo, no hay ventaja o desventaja en cuanto a rendimiento. DW tambien usa la sentencia INSERT, pero analiza los datos a incluir antes de armar la query (para eso es la función GetSQLValueString()).

Lo que yo te diría es "Borra el DW y empieza a trabajar con el Bloc de notas, o con un editor PHP (PHPDesigner es el que yo uso)".

Con DW también se arma una consulta INSERT común y corriente, que la almacena en la variable $insertSQL, pero usa la función sprintf() para incluir los datos a insertar dentro de la consulta. Todo eso es para evitar inyecciones SQL.

Para saber el tamaño del archivo, recuerda que está almacenado en la variable $_FILES['userfile']['size'], por lo tanto sólo debes crear un campo en tu tabla e insertar el dato de la misma manera:

Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "upload")) { 
  
$insertSQL sprintf("INSERT INTO Mensajes (titulo, lugar, f, m, t, link, tamano) VALUES (%s, %s, %s, %s, %s, %s, ".$_FILES['userfile']['size'].")"
                       
GetSQLValueString($_POST['titulo'], "text"), 
                       
GetSQLValueString($_POST['lugar'], "text"), 
                       
GetSQLValueString($_POST['f'], "text"), 
                       
GetSQLValueString($_POST['m'], "text"), 
                       
GetSQLValueString($_POST['t'], "text"), 
                       
GetSQLValueString($upload_dir.$file_name"text")); 

  
mysql_select_db($database_ldp$ldp); 
  
$Result1 mysql_query($insertSQL$ldp) or die(mysql_error()); 

Un saludo,

Pd.: No se escribe "embes"