Tengo y funciona bastante bien, las funciones para subir a dos carpetas (minis y originales) una foto pequeña y su par en grande. A su vez que inserta el nombre de ambas imágenes en la tabla de la base de datos.
Ahora, me interesa, para no tener que duplicar esas funciones por cada archivo que se cargue desde el formulario, en el caso que se cargue más de un par de imágenes usar el for each para que por cada dupla que venga del formulario las suba a las carpetas debidas y las inserte en la tabla.
Cómo sería este for each? Porque estuve leyendo por php.net, cristal y otros foros, pero no termino de entender...
Código PHP :
if(isset($_POST['submit'])){
$error = false;
// si hay imagen grande.
if (is_uploaded_file($_FILES['fotog']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['fotog']['type'] == "image/jpeg" || $_FILES['fotog']['type'] == "image/pjpeg"){
//nombre de la imagen
$fotog = time().".jpg";
//movemos la imagen.
move_uploaded_file($_FILES['fotog']['tmp_name'], "../originales/".$fotog);
}else{
$error = true;
$errormsg = "Formato no válido para archivo de imagen";
}
} else {
//imagen no se pudo subir o no seleccionaron.
$error=true;
$errormsg = "Error al cargar imagen: " . $_FILES['fotog']['name'];
}//fin file upload.
//continuamos con el insert.
//si hay error no hay imagen.
if($error){
$fotog = "N/A";
}
// si hay imagen grande.
if (is_uploaded_file($_FILES['fotop']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['fotop']['type'] == "image/jpeg" || $_FILES['fotop']['type'] == "image/pjpeg"){
//nombre de la imagen
$fotop = time().".jpg";
//movemos la imagen.
move_uploaded_file($_FILES['fotop']['tmp_name'], "../minis/".$fotop);
}else{
$error = true;
$errormsg = "Formato no válido para archivo de imagen";
}
} else {
//imagen no se pudo subir o no seleccionaron.
$error=true;
$errormsg = "Error al cargar imagen: " . $_FILES['fotop']['name'];
}//fin file upload.
//continuamos con el insert.
//si hay error no hay imagen.
if($error){
$fotop = "N/A";
}
$campos = "fotog,fotop";
$valores = "'$fotog','$fotop'";
//nos conectamos a la bd.
$cnx = conectar();
$res = mysql_query("INSERT INTO photos ($campos) VALUES ($valores)") or die (mysql_error());
//cerramos la conexión.
mysql_close($cnx);
$mensaje = "<p class='error'>Se ha cargado una nueva foto con éxtio.</p>";
//exit;
}Muchas gracias.
Salut y vita!
Emiliano
