Tengo el siguiente codigo, pero no se que me falla en el php que no recoge el archivo, haber si alguien me puede echar una mano muchas gracias :)
esta es la parte del formulario, todo funciona menos la ultima parte de adjuntar el cv
Código:
<!-- formulario para introducir datos de la entrevista --> <form method="POST" action="../php/form_añadir_datos.php" enctype="multipart/form-data"> <label for="nombre">Nombre</label> <input id="nombre" name="nombre" type="text" /> <br> <label for="apellido1">1º Apellido</label> <input id="apellido1" name="apellido1" type="text" /> <br> <label for="apellido2">2º Apellido</label> <input id="apellido2" name="apellido2" type="text" /> <br> <label for="departamento">Departamento</label> <select id="departamento" name="departamento"> <optgroup label="Departamento"> <option>Comercio</option> <option selected="selected">I+D</option> <option>IBI</option> </optgroup> </select> <br /> <label for="fecha1">Fecha primera entrevista (AA/MM/DD)</label> <input id="fecha1" name="fecha1" type="text" /> <br> <label for="entrevistador1">entrevistador 1ª entrevista</label> <input id="entrevistador1" name="entrevistador1" type="text" /> <br> <label for="decision1">Decision 1ª entrevista</label> <input id="decision1" name="decision1" type="text" /> <br> <!-- esto es la informacion y el archivo que se va a adjuntar --> <label for="titulo">Nombre CV</label> <input type="text" id="titulo" name="titulo"/> <label for="archivo" >CV</label> <input type="file" id="archivo" name="archivo"/><br> <textarea id="descripcion" name="descripcion" cols="50" rows="5"></textarea><br> <!-- ---------------------------------------------------------- --> <input type="submit" value="Guardar" /> </form>
y esta es la parte de php, lo que pasa, es que en la primefa verificacion, en el if, sizeof($_FILES)==0 esto es true, por lo que entra en el bucle, pero no se por que no pasa el archivo de una pagina a otra.
Código:
//insertar archivo a la base de datos----------------------------------------------------- //ESTA FUNCION LA USAREMOS PARA OBTENER EL TAMAÑO DE NUESTRO ARCHIVO function filesize_format($bytes, $format = '', $force = ''){ $bytes=(float)$bytes; if ($bytes< 1024){ $numero=number_format($bytes, 0, '.', ','); return array($numero,"B"); } if ($bytes< 1048576){ $numero=number_format($bytes/1024, 2, '.', ','); return array($numero,"KBs"); } if ($bytes>= 1048576){ $numero=number_format($bytes/1048576, 2, '.', ','); return array($numero,"MB"); } } //VERIFICAMOS QUE SE SELECCIONO ALGUN ARCHIVO if(sizeof($_FILES)==0){ echo "No se puede subir el archivo"; exit(); } // EN ESTA VARIABLE ALMACENAMOS EL NOMBRE TEMPORAL QU SE LE ASIGNO ESTE NOMBRE ES GENERADO POR EL SERVIDOR // ASI QUE SI NUESTRO ARCHIVO SE LLAMA foto.jpg el tmp_name no sera foto.jpg sino un nombre como SI12349712983.tmp por decir un <span id="IL_AD12" class="IL_AD">ejemplo</span> $archivo=$_FILES["archivo"]["tmp_name"]; //Definimos un array para almacenar el tamaño del archivo $tamanio=array(); //OBTENEMOS EL TAMAÑO DEL ARCHIVO $tamanio=$_FILES["archivo"]["size"]; //OBTENEMOS EL TIPO MIME DEL ARCHIVO $tipo=$_FILES["archivo"]["type"]; //OBTENEMOS EL NOMBRE REAL DEL ARCHIVO AQUI SI SERIA foto.jpg $nombre_archivo=$_FILES["archivo"]["name"]; //PARA HACERNOS LA VIDA MAS FACIL EXTRAEMOS LOS DATOS DEL REQUEST extract($_REQUEST); //VERIFICAMOS DE NUEVO QUE SE SELECCIONO ALGUN ARCHIVO if ( $archivo != "none" ){ //ABRIMOS EL ARCHIVO EN MODO SOLO LECTURA // VERIFICAMOS EL TAÑANO DEL ARCHIVO $fp = fopen($archivo, "rb"); //LEEMOS EL CONTENIDO DEL ARCHIVO $contenido = fread($fp, $tamanio); //CON LA FUNCION addslashes AGREGAMOS UN \ A CADA COMILLA SIMPLE ' PORQUE DE OTRA MANERA //NOS MARCARIA ERROR A LA HORA DE REALIZAR EL INSERT EN NUESTRA TABLA $contenido = addslashes($contenido); //CERRAMOS EL ARCHIVO fclose($fp); // VERIFICAMOS EL TAÑANO DEL ARCHIVO if ($tamanio <1048576){ //HACEMOS LA CONVERSION PARA PODER GUARDAR SI EL TAMAÑO ESTA EN b ó MB $tamanio=filesize_format($tamanio); } //CREAMOS NUESTRO INSERT $qry = "INSERT INTO tbl_documentos ( titulo,nombre_archivo, descripcion, contenido, tamanio,tamanio_unidad, tipo ) VALUES ('$titulo','$nombre_archivo', '$descripcion','$contenido','{$tamanio[0]}','{$tamanio[1]}', '$tipo')"; //EJECUTAMOS LA CONSULTA mysql_query($qry) or die("Query: $qry <br />Error: ".mysql_error()); //CERRAMOS LA CONEXION mysql_close(); //NOTIFICAMOS AL USUARIO QUE EL ARCHVO SE HA ENVIADO O REDIRIGIMOS A OTRO LADO ETC. }else{ echo "No fue posible subir el archivo"; echo 'Subir Otro Archivo<br /> '; } //------------------------------------------------------------------------------------------