Foros del Web » Programando para Internet » PHP »

subir archivos con base de datos

Estas en el tema de subir archivos con base de datos en el foro de PHP en Foros del Web. hola a todos, tengo un codigo en donde subo archivos y sus nombre los quiero registrar en una base de datos, ingreso registro, epro no ...
  #1 (permalink)  
Antiguo 14/09/2010, 09:14
 
Fecha de Ingreso: octubre-2005
Mensajes: 129
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo subir archivos con base de datos

hola a todos, tengo un codigo en donde subo archivos y sus nombre los quiero registrar en una base de datos, ingreso registro, epro no me toma cuando quiero hacer up update con lo nombre de lo archivos

Código:
<?php


//$upload_dir ="data/img_proyectos/";
$upload_dir = "images_dir/";
//number of files to upload.
$num_files = 4;

//nombres de archivo
$nombre_archivo=0;

//the file size in bytes.
$size_bytes =5120000; //512000 bytes = 500KB.
//Extensions you want files uploaded limited to.
$limitedext = array(".gif",".jpg",".jpeg",".png",".txt",".doc"," .html",".htm",".zip",".rar",".gz");
//nombres de archivos
$nombres=date(dmyhms);


//check if the directory exists or not.
if (!is_dir("$upload_dir")) {
die ("Error: The directory <b>($upload_dir)</b> doesn't exist");
}
//check if the directory is writable.
if (!is_writeable("$upload_dir")){
die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)");
}


//if the form has been submitted, then do the upload process
//infact, if you clicked on (Upload Now!) button.
if (isset($_POST['upload_form'])){

echo "<h3>Resultados:</h3>";

//do a loop for uploading files based on ($num_files) number of files.
for ($i = 1; $i <= $num_files; $i++)
{
$nombre_archivo=$nombre_archivo + 1;
//define variables to hold the values.
$new_file = $_FILES['file'.$i];
$file_name= $nombres.$nombre_archivo.".jpg";
//}
//$file_name = $new_file['name'];
//to remove spaces from file name we have to replace it with "_".
$file_name = str_replace('', '_', $file_name);
$file_tmp = $new_file['tmp_name'];
$file_size = $new_file['size'];
$file_type = $new_file['type'];

#-----------------------------------------------------------#
# this code will check if the files was selected or not. #
#-----------------------------------------------------------#

if (!is_uploaded_file($file_tmp)) {
//print error message and file number.
echo "File $i: Not selected.<br>";
}else{
#-----------------------------------------------------------#
# this code will check file extension #
#-----------------------------------------------------------#

$ext = strrchr($file_name,'.');
if (!in_array(strtolower($ext),$limitedext)) {
echo "File $i: ($file_name) Wrong file extension. <br>";
}else{
#-----------------------------------------------------------#
# this code will check file size is correct #
#-----------------------------------------------------------#

if ($file_size > $size_bytes){
echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 ."</b> KB. <br>";
}else{
#-----------------------------------------------------------#
# this code check if file is Already EXISTS. #
#-----------------------------------------------------------#

if(file_exists($upload_dir.$file_name)){
echo "File $i: ($file_name) already exists.<br>";
}else{
#-----------------------------------------------------------#
# this function will upload the files. :) ;) cool #
#-----------------------------------------------------------#
if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) 
{
echo "File $i: ($file_name) Uploaded.<br>";
}else{
echo "File $i: Faild to upload.<br>";
}#end of (move_uploaded_file).

}#end of (file_exists).

}#end of (file_size).

}#end of (limitedext).

}#end of (!is_uploaded_file).

/**************************************INGRESOS DE REGISTROS******************************************************************/
	
//}#end of archivo
}#end of (for loop).

	if ($i=1)
	{
	$file_name1=$file_name;
	}
	if($i=2)
	{
	$file_name2=$file_name;
	}
	if($i=3)
	{
	$file_name3=$file_name;
	}
	if($i=4)
	{
	$file_name4=$file_name;
	}


/******************************************************************/
# print back button.
//echo "»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
////////////////////////////////////////////////////////////////////////////////
//else if the form didn't submitted then show it.
}

else
{
echo " <h3>Seleccion los Archivos a subir!.</h3>
Maximo tamaño a subir = ". $size_bytes / 1024 ." KB";
echo "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\" enctype=\"multipart/form-data\">";
// show the file input field based on($num_files).
for ($i = 1; $i <= $num_files; $i++)
{
echo "File $i: <input type=\"file\" name=\"file". $i ."\"><br>";
}
echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\">
<input type=\"submit\" name=\"upload_form\" value=\"Subir Archivos!\">
</form>";

}
include("data/dbapertura.php");


//seleccionamos el orden 
$sql1=mysql_query("select max(pro_orden) + 5 as resultado from asinpro.proyectos");
$pro_orden=mysql_fetch_array($sql1);
//seleccionamos el codigo
$sql2=mysql_query("select cli_codigo from clientes where cli_nombre='$_POST[cli_nombre]'" );
$cli_codigo=mysql_fetch_array($sql2);
$pro_codigo=$_POST[codigo_pro];
$pro_codigo_act=$pro_codigo;

//ingresamos los datos a la tabla proyecto
if (isset($_POST['btnguardar']))
{
//date_default_timezone_set('America/Santiago');
$fecha_ing=date("Y-m-d H:m:s");
mysql_query("insert into proyectos(pro_codigo, cli_codigo, pro_nombre, pro_lugar,pro_ano, pro_detalle, pro_fec_ing, pro_fec_mod, pro_publicar, pro_orden)"
." values('$_POST[codigo_pro]','$cli_codigo[cli_codigo]','$_POST[nombre_pro]','$_POST[lugar_pro]',' $_POST[ano_pro]','$_POST[pro_detalle]','$fecha_ing', 'null', '$_POST[publicar_pro]','$pro_orden[resultado]')") OR die("Error". mysql_error());

echo"<font size=\"10\">Seguimos con el ingreso de fotos</font>";	
}
else
{
echo"registro no ingresado";
mysql_query("update asinpro.proyectos set pro_imagen_1='file_name1', pro_imagen_2='$file_name2', pro_imagen_3='$file_name3', pro_imagen_4='$file_name4' where pro_codigo='$pro_codigo_act'");
}




?>
creo que no me toma la variable para igualar al string
__________________
Pablo Baez
  #2 (permalink)  
Antiguo 14/09/2010, 09:18
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: subir archivos con base de datos

¿Podrías usar la función mysql_error() para ver que error te da?
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #3 (permalink)  
Antiguo 14/09/2010, 09:35
 
Fecha de Ingreso: octubre-2005
Mensajes: 129
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: subir archivos con base de datos

No me arroja error cuando veo el registro bd me lo arroja como null, creo que no esta tomando el script
__________________
Pablo Baez
  #4 (permalink)  
Antiguo 14/09/2010, 10:13
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: subir archivos con base de datos

Pueden el tipo de dato del campo de tu tabla, mira eso, puede ser que el tipo de dato sea int, y cuando quiere insertar no te deja ya que no son numeros y te coloca null, cambia por varchar
  #5 (permalink)  
Antiguo 14/09/2010, 10:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 129
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: subir archivos con base de datos

son de tipo varchar ,, esta bien entre comillas
__________________
Pablo Baez
  #6 (permalink)  
Antiguo 14/09/2010, 11:44
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: subir archivos con base de datos

Mmm, El if donde asignas los filenames, ¿no debería estar dentro del bucle?
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla

Etiquetas: subir
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 06:41.