Me Recoje El Campo File_name Muy Bien y Se sube el archivo que selecciono y se guardan los datos en la base de datos del campo File_name.
aqui va el script que va en el tag de head que le da la funcion al campo file_name:
Código HTML:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script> <script type="text/javascript" src="js/swfupload/swfupload.js"></script> <script type="text/javascript" src="js/jquery.swfupload.js"></script> <script type="text/javascript"> $(function(){ $('#swfupload-control').swfupload({ upload_url: "upload-file.php", file_post_name: 'file_name', file_size_limit : "1024", file_types : "*.mp3;*.MP3;*.wav", file_types_description : "Image files", file_upload_limit : 5, flash_url : "js/swfupload/swfupload.swf", button_image_url : 'js/swfupload/wdp_buttons_upload_114x29.png', button_width : 114, button_height : 29, button_placeholder : $('#button')[0], debug: false }) .bind('fileQueued', function(event, file){ var listitem='<li id="'+file.id+'" >'+ 'File: <em>'+file.name+'</em> ('+Math.round(file.size/1024)+' KB) <span class="progressvalue" ></span>'+ '<div class="progressbar" ><div class="progress" ></div></div>'+ '<p class="status" >Pending</p>'+ '<span class="cancel" > </span>'+ '</li>'; $('#log').append(listitem); $('li#'+file.id+' .cancel').bind('click', function(){ var swfu = $.swfupload.getInstance('#swfupload-control'); swfu.cancelUpload(file.id); $('li#'+file.id).slideUp('fast'); }); // start the upload since it's queued $(this).swfupload('startUpload'); }) .bind('fileQueueError', function(event, file, errorCode, message){ alert('Size of the file '+file.name+' is greater than limit'); }) .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){ $('#queuestatus').text('Files Selected: '+numFilesSelected+' / Queued Files: '+numFilesQueued); }) .bind('uploadStart', function(event, file){ $('#log li#'+file.id).find('p.status').text('Uploading...'); $('#log li#'+file.id).find('span.progressvalue').text('0%'); $('#log li#'+file.id).find('span.cancel').hide(); }) .bind('uploadProgress', function(event, file, bytesLoaded){ //Show Progress var percentage=Math.round((bytesLoaded/file.size)*100); $('#log li#'+file.id).find('div.progress').css('width', percentage+'%'); $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%'); }) .bind('uploadSuccess', function(event, file, serverData){ var item=$('#log li#'+file.id); item.find('div.progress').css('width', '100%'); item.find('span.progressvalue').text('100%'); var pathtofile='<a href="uploads/'+file.name+'" target="_blank" >view »</a>'; item.addClass('success').find('p.status').html('Done!!! | '+pathtofile); }) .bind('uploadComplete', function(event, file){ // upload has completed, try the next one in the queue $(this).swfupload('startUpload'); }) }); </script>
Código HTML:
<div id="swfupload-control"> <p>Upload upto 5 image files(jpg, png, gif), each having maximum size of 1MB</p><form action="upload-file.php" enctype="multipart/form-data" method="post" name="formulario" target="_blank" > <table class="file_slot" cellpadding="0" cellspacing="3" width="360"> <tbody> <tr> <td width="1%" align="right"><b>Filename:</b></td> <td nowrap="nowrap"><!--APC hidden field--> <!----> <label for="file_name"></label> <input name="file_name" type="file" id="button" /></td> </tr> <tr> <td align="right" nowrap="nowrap"><b>Uploaded by:</b></td> <td><input type="text" name="upload_by" id="upload_by" /></td> </tr> <tr> <td align="right" valign="top"><b>Fecha:</b></td> <td><input name="upload_date_file" type="text" id="upload_date_file" /></td> </tr> <tr> <td align="right" valign="top"><b>Description:</b></td> <td><input type="text" name="descripcion" id="descripcion" /></td> </tr> <tr> <td align="right"><b>Datos:</b></td> <td><input type="text" name="cadenatexto" id="cadenatexto" /></td> </tr> <tr> <td align="center" colspan="2"><!--Include the iframe--> <br /> <br /> <!----> </td> </tr> </tbody> </table></form> <p> </p> <p id="queuestatus" ></p> <ol id="log"></ol> </div>
Código PHP:
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['file_name']['name'];
$tipo_archivo = $HTTP_POST_FILES['file_name']['type'];
$tamano_archivo = $HTTP_POST_FILES['file_name']['size'];
$destino = './musica/'.$nombre_archivo;
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "mp3") || strpos($tipo_archivo, "MP3")) && ($tamano_archivo < 900000000000000000000000000000000000000000000000000000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (copy($_FILES['file_name']['tmp_name'],$destino)) {
echo "El archivo ha sido cargado correctamente.";
} else {
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>
<?php
// Si entramos es que todo se ha realizado correctamente
$d_host = "localhost"; // MySQL server host
$d_port = ""; // MySQL server port
$d_user = "root"; // MySQL username
$d_pass = "123456"; // MySQL password
$db_name = "upload_files";
//La conexión
$coneccion = mysql_connect($d_host,$d_user,$d_pass) or die ('No se puede conectar con la DB por que: ' . mysql_error());
mysql_select_db($db_name,$coneccion);
# se recogen los datos del formulario
$file_name = $_POST['file_name'];
$upload_by = $_POST['upload_by'];
$descripcion = $_POST['descripcion'];
$upload_date_file = $_POST['upload_date_file'];
//Insertando en la base de datos
$sql="INSERT INTO upload_files (file_name,upload_by,descripcion,file_size,upload_date_file) VALUES ('$nombre_archivo','$upload_by','$descripcion','$tamano_archivo','$upload_date_file')";
mysql_query($sql,$coneccion) or die (mysql_error());
?>
<?php
$result = mysql_query("SELECT * FROM upload_files WHERE upload_date_file = '$upload_date_file' ORDER BY id_file DESC LIMIT 1", $coneccion);
if ($row = mysql_fetch_array($result)){
//Aqui le pongo una bariable al id del archivo
$idarchivo = $row['id_file'];
$nombrefile = $row['file_name'];
while ($row = mysql_fetch_array($result));
} else {
echo "¡ La base de datos está vacia !";
}
?>
<?php
Me Funciona muy bien la funcion de upload, i se guarda los datos del campo FILE_NAME en la base de datos pero no se recojen los otros datos del formulario, me gustaria saber si entendieron, y me ayuden con eso que tengo un dolor de cabeza . Gracias...