Código PHP:
<?php
session_start();
include("libreria.php");
$conexion=conecta();
$archivo = $_FILES["Filedata"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
$destino = "files/".$prefijo."_".$archivo;
$alias = $prefijo."_".$archivo;
copy($_FILES['Filedata']['tmp_name'], $destino);
}
$num = $_POST['numflash'];
$tiempo = $_POST['tiempoflash'];
$pass = $_POST['passflash'];
$fecha=date('d-m-Y');
$usuario=$_SESSION['usuario_valido'];
$conscod="select cod_usuario from usuarios where nick = '$usuario'";
$registro=mysql_fetch_array(mysql_query($conscod));
$cod_usuario=$registro['cod_usuario'];
$cons = "insert into archivos (max_descargas,tiempo_vida,clave_archivo,codigo_usuario,nombre,alias,size,num_descargas,fecha_subida,estado) values ('$num','$tiempo','$pass','$cod_usuario','$archivo','$alias','1','0','$fecha','-1')";
mysql_query($cons);
mysql_close($conexion);
Código:
El flash a sido viendo y copiando cosas de tutoriales, no se donde poner esto, no e visto apartado de flash. Si alguien tiene idea, que me mire el subir.php para ver si hago algo mal, el tema es que me crea 2 filas cuando inserta en vez de hacer una solo con su cod_usuario. import flash.net.*; //ENVIAR DATOS var php:String = "subir.php"; var req:URLRequest = new URLRequest(php); var vars:URLVariables = new URLVariables(); req.method = URLRequestMethod.POST; req.data = vars; /*function alClick(e:MouseEvent):void{ vars.numflash = enviar_mc.numero.text; vars.tiempoflash = enviar_mc.tiempo.text; vars.passflash = enviar_mc.pass.text; sendToURL(req); //navigateToURL(req); //loader.load(req); URLLoader("admindescarga.php"); }*/ // enviar_mc.enviar_btn.addEventListener(MouseEvent.CLICK, alClick); //Clases necesarias import flash.events.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; //Dirección del PHP que va a subir el archivo var uploadURL:URLRequest; var archivo:FileReference; //Función llamada al pulsar examinar, se crea el filereference y se abre el navegador de archivos function Examinar(event:MouseEvent) { vars.numflash = enviar_mc.numero.text; vars.tiempoflash = enviar_mc.tiempo.text; vars.passflash = enviar_mc.pass.text; //sendToURL(req); //navigateToURL(req); //loader.load(req); Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo."); uploadURL = new URLRequest(); uploadURL.url = "subir.php"; archivo = new FileReference(); PonerListeners(archivo); archivo.browse(getTypes()); } //Añado los listener al objeto filereference function PonerListeners(dispatcher:IEventDispatcher) { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler); } //Con está función se generan los tipos de archivos que estarán disponibles para seleccionar desde el navegador function getTypes():Array { var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter()); return allTypes; } //Tipos de imágenes admitidos, tanto para pc como para mac function getImageTypeFilter():FileFilter { return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png"); } //Tipos de archivos de texto admitidos, para pc y mac function getTextTypeFilter():FileFilter { return new FileFilter("Text Files (*.txt, *.rtf)","*.txt;*.rtf"); } //Se distribuye cuando se cancela la descarga desde el navegador de archivos. function cancelHandler(event:Event):void { Estado_txt.appendText("\n" + "Subida cancelada."); } //Se distribuye cuando se finaliza la descarga o la carga function completeHandler(event:Event):void { Estado_txt.appendText("\n" + "Subida completada."); } //Se reciben datos del servidor tras completar la carga function uploadCompleteDataHandler(event:Event):void { Estado_txt.appendText("\n" + "Subida confirmada por el servidor."); } //Se produce cuando falla la carga y hay un código http de error. //Por ejemplo si no se encuentra el PHP, se generará un error 404. function httpStatusHandler(event:HTTPStatusEvent):void { Estado_txt.appendText("\n" + "Se ha producido el siguiente error: " + event.status); } //Se produce cuando falla la carga o descarga function ioErrorHandler(event:IOErrorEvent):void { Estado_txt.appendText("\n" + event.text); } //Se inicia la carga o descarga function openHandler(event:Event):void { Estado_txt.appendText("\nComienza la subida"); } //Se distribuye periodicamente durante la carga o la descarga, mostrando el progreso de la misma. function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); Estado_txt.appendText("\n" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos."); } //Se distribuye al intentar descargar o cargar un archivo de un servidor fuera del entorno de seguridad de la película function securityErrorHandler(event:SecurityErrorEvent):void { Estado_txt.appendText("\nEl servidor no permitió la carga del archivo."); } //Se distribuye al elegir el archivo para carga o descarga desde el navegador de archivos. function selectHandler(event:Event):void { Estado_txt.text = ""; var archivo:FileReference = FileReference(event.target); Estado_txt.appendText("\n" + "Archivo elegido: " + archivo.name + "\n" + "Tamaño = " + archivo.size + " bytes."); archivo.upload(req); } Examinar_bt.addEventListener(MouseEvent.CLICK,Examinar);