Claro...Es el siguiente:
Formulario HTML:
Código HTML:
Ver original<form name="newad" method="post" enctype="multipart/form-data" action="operaciones.php"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<td colspan="2" align="right" ><?php echo imp_menu(); ?></td> <div id="stylized" class="myform">
<h1>Rellena el formulario
</h1> <p>Debes llenar los campos obligatorios *
</p> <span class="small">Nombre de la obra
</span> <input name="nombre" type="text" size="70" maxlength="70" /> <span class="small">Numero de contrato
</span> <input name="ncontrato" type="text" size="20" maxlength="250" /> <span class="small">Lugar de obra
</span> <input name="lugar" type="text" size="20" maxlength="70" /> <span class="small">Fecha de obra
</span> <input name="fecha" value="Dia-Mes-Año" type="text" id="dateArrival" onClick="popUpCalendar(this, form.dateArrival, 'dd-mm-yyyy');" size="10">
<!-- Supervisores -->
<?
mysql_connect('127.0.0.1','root','****')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
//Me trae los supervisores desde la DB
$consulta_sql1=mysql_query("select snombre from supervisor");
while ($registro1 = mysql_fetch_array($consulta_sql1))
{
?>
<option value="<?=$registro1["snombre"];?>">
<?=$registro1["snombre"];?>
<?
}
?>
<?
mysql_connect('127.0.0.1','root','****')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
//Me trae las categorias desde la DB
$consulta_sql2=mysql_query("select cname from category");
while ($registro2 = mysql_fetch_array($consulta_sql2))
{
?>
<option value="<?=$registro2["cname"];?>">
<?=$registro2["cname"];?>
<?
}
?>
<!-- Esta div contendrá todos los campos file que creemos -->
<!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
en el script -->
<input type="file" name="fichero[]" multiple="multiple" /> <a href="#" onClick="addCampo()"><label>Subir otra imagen
</a> <span class="small">Cargar otra imagen
</span></label>
<script type="text/javascript"> var numero = 0;
evento = function (evt) {
return (!evt) ? event : evt;
}
addCampo = function () {
nDiv = document.createElement('div');
nDiv.className = 'archivo';
nDiv.id = 'file' + (++numero);
nCampo = document.createElement('input');
nCampo.name = 'fichero[]';
nCampo.type = 'file';
a = document.createElement('a');
a.name = nDiv.id;
a.href = '#';
a.onclick = elimCamp;
a.innerHTML = 'Eliminar';
nDiv.appendChild(nCampo);
nDiv.appendChild(a);
container = document.getElementById('adjuntos');
container.appendChild(nDiv);
}
elimCamp = function (evt){
evt = evento(evt);
nCampo = rObj(evt);
div = document.getElementById(nCampo.name);
div.parentNode.removeChild(div);
}
rObj = function (evt) {
return evt.srcElement ? evt.srcElement : evt.target;
}
<!--Archivo: <input name="fichero[]" type="file" size="150" maxlength="150"> -->
<input type="text" name="newLabel" id="newLabel" />
<select name="test[]" multiple="multiple"> <?php
$result = mysql_query("select label from labels");
while($row = mysql_fetch_row($result)) echo'<option value="'.$row[0].'">'.$row[0].'
</option>';
?>
<input name="Submit" type="submit" value="Guardar" ></td></tr>
PHP:
Código PHP:
Ver original<?
//Maximo tamaño en kb
//Funcion de extensiones
function getExtension($str) {
if (!$i) { return ""; }
return $ext;
}
// Esta variable se utiliza como una bandera. El valor se inicializa con 0 (es decir, no hay error que se encuentran)
// y se cambia a 1 si un occures error.
// Si el error occures el archivo no se cargará.
$errors=0;
//Comprueba si el formulario ha sido enviado
if(isset($_POST['submit'])) {
//Conectamos a la base de datos para almacenar los datos y la ruta del archivo, aunque ya tengamos archivo conexion
//Carga los campos a los que se enviaran los datos
$obra = $_POST["nombre"];
$ncontrato = $_POST["ncontrato"];
$lugar = $_POST["lugar"];
$fecha = $_POST["fecha"];
$supervisor = $_POST["snombre"];
$categoria = $_POST["categoria"];
//Inserta el Value de los campos a la tabla obras
$query="INSERT INTO obras (nombre,ncontrato,fecha,lugar,supervisor,categoria) VALUES ('$_POST[nombre]','$_POST[ncontrato]','$_POST[fecha]','$_POST[lugar]','$_POST[listasupervisor]','$_POST[listacategoria]')";
echo "El archivo $nombre_archivo ha sido registrado de manera satisfactoria.<br />";
}
if(isset($_POST['Submit'])) { $cantidad2 =count($_FILES["fichero"]['tmp_name']); for ($j=0;$j<=$cantidad2;$j++){
//Leer el nombre del fichero
$image=$_FILES['fichero']['name'][$j];
//Si no esta vacio
if ($image)
{
//Obtener el nombre original del fichero
//Obtener la extension del fichero
$extension = getExtension($filename);
//Si se da una extension descoocidad, imprimira error
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif") && ($extension != "bmp"))
{
//Imprimir mensaje de error
echo '<h1>Extension desconocida!</h1>';
$errors=1;
}
else
{
//Obtenemos el tmaño de la imagen en bytes
//$_FILES['image']['tmp_name'] temporal fichero
//El archivo se almacena en el servidor
$size=filesize($_FILES['fichero']['tmp_name'][$j]);
//Se compara el tamaño del fichero
if ($size > MAX_SIZE*1024)
{
echo '<h1>Se a exedido del tamaño maximo.!</h1>';
$errors=1;
}
//Daremos un nombre unico con extension
$image_name=time().'.'.$extension; //Donde se guardaran las imagenes
$newname="../images/".$image_name;
//Se verifica si fue subida, e imprime errores
$copied = copy($_FILES['fichero']['tmp_name'][$j], $newname);
if (!$copied)
{
echo '<h1>Copia realizada!</h1>';
$errors=1;
}}}}
}
//Si no hubo errores, imprimo mensaje
if(isset($_POST['Submit']) && !$errors) {
//Si la foto fue subida correctamente entonces procedo a aplicarle las etiquetas.
echo '<h3>Se ha subido la imagen con éxito '.$newname.'. <br>
$extension=$_POST['type'];
$image=$_POST['name'];
$size=$_POST['size'];
$url = $newname;
$test=$_POST['test'];
$newLabel=$_POST['newLabel'];
if (($test || $newLabel) && $url){
//Verifico que el archivo que acabo de insertar exista.
if(file_exists($url))
{
mysql_query("insert into photos values ('','".$url."','0','".$extension."','".$image."','".$size."')");
$result = mysql_query("select id from photos where url='".$url."'");
$row = mysql_fetch_row($result);
$photo_id = $row[0];
}
}
?>
Esos son los códigos, gracias.