Me llamo Marcela Rangel soy nueva usando PHP
** Sugiero poner mas espacio para nuestras preguntas, tuve que quitar todos los comentarios del código, pues solo te permite 10,000 caracteres.
A) Tengo q hacer un repositorio de info de usuarios y deben tener acceso a archivos doc, jpg, etc y videos avi. Las condiciones son que los videos se guarden y descarguen desde FTP y demás se guarden y descarguen desde DB.
B) Estos archivos PHP solo son para UPLAOD y DOWNLOAD.
C) En MySQL creé "t_prueba_cont" y los campos "id_contenido (integer, auto_inc, not null), nombre(varchar 45, not null), tamano(integer, not null), tipo(varchar45, not null), contenido (longblob) y fecha(datetime)"
Código PHP:
Ver original
1°) Formulario para subir los archivos (pruebaindex.php): <html> <body> <form enctype='multipart/form-data' action='pruebaupload.php' method='post'> <input type='hidden' name='MAX_FILE_SIZE' value='1000000000'> <input type='hidden' name='completed' value='1'> Por favor elige el archivo deseas cargar: <input type='file' name='imagefile'><br> <input type='submit' value='Subir Archivo'> </form><br> </body> </html> 2°) Archivo para procesar la subida a la BD o al sitio FTP (pruebaupload.php): <?php if ((($_FILES["imagefile"]["type"] == "text/plain") || ($_FILES["imagefile"]["type"] == "application/pdf") || ($_FILES["imagefile"]["type"] == "application/msword") || ($_FILES["imagefile"]["type"] == "application/vnd.ms-excel") || ($_FILES["imagefile"]["type"] == "application/vnd.ms-powerpoint") || ($_FILES["imagefile"]["type"] == "audio/wav") || ($_FILES["imagefile"]["type"] == "audio/mpeg") || ($_FILES["imagefile"]["type"] == "audio/x-mpeg") || ($_FILES["imagefile"]["type"] == "audio/mpeg") || ($_FILES["imagefile"]["type"] == "audio/mpeg3") || ($_FILES["imagefile"]["type"] == "audio/mpg") || ($_FILES["imagefile"]["type"] == "image/gif") || ($_FILES["imagefile"]["type"] == "image/png") || ($_FILES["imagefile"]["type"] == "image/tif") || ($_FILES["imagefile"]["type"] == "image/jpg") || ($_FILES["imagefile"]["type"] == "image/jpeg") || ($_FILES["imagefile"]["type"] == "image/pjpeg") || ($_FILES["imagefile"]["type"] == "image/bmp") || ($_FILES["imagefile"]["type"] == "video/mpeg") || ($_FILES["imagefile"]["type"] == "video/avi")) && ($_FILES["imagefile"]["size"] < 1000000000)) { if ($_FILES["imagefile"]["error"] > 0) { echo "Sucedio un error: " . $_FILES["imagefile"]["error"] . "<br />"; } else { echo "Archivo q se cargará: " . $_FILES["imagefile"]["name"] . "<br />"; $name = $_FILES["imagefile"]["name"]; echo "Tipo: " . $_FILES["imagefile"]["type"] . "<br />"; $type = $_FILES["imagefile"]["type"]; echo "Tamaño: " . ($_FILES["imagefile"]["size"] / 1024) . " Kb<br />"; $size = $_FILES["imagefile"]["size"]; echo "Tmp almacenado en: " . $_FILES["imagefile"]["tmp_name"] . "<br />"; $temp_name = $_FILES["imagefile"]["tmp_name"]; $_SESSION['nombre'] = $name; $_SESSION['tipo'] = $type; $_SESSION['tamano'] = $size; $_SESSION['nombre_tmp'] = $temp_name; if ($_FILES["imagefile"]["type"] == "video/avi") { $servidor_ftp = "127.0.0.1"; $ftp_usuario = "[COLOR="Yellow"]user[/COLOR]"; $ftp_clave = "[COLOR="Yellow"]pass[/COLOR]"; $nombre_subir = $name; if ((!$conexion_id) || (!$resultado_login)) { echo "La conexion ha fallado! al conectar con $servidor_ftp para usuario $ftp_usuario" . "<br />"; exit; } else { echo "Conectado al sitio $servidor_ftp, para usuario $ftp_usuario" . "<br />"; } if (!$upload) { echo "Ha ocurrido un error al subir el archivo" . "<br />"; } else { echo "Copia de $nombre_subir al server FTP $servidor_ftp" . "<br />"; $errmsg = "Subido el archivo a la carpeta carga_ftp_tmp"; } echo"Estado de la operación: $errmsg" . "<br />"; echo' Click <a href=downloadftp.php>aqui</a> para descargar el ultimo archivo.<br> </form> Click <a href=pruebaindex.php>aqui</a> para cargar otro archivo. '; } else { $conecta = mysql_connect("localhost","[COLOR="Yellow"]user[/COLOR]","[COLOR="Yellow"]pass"[/COLOR]); echo "Hasta aqui estoy conectada a la BD" . "<br />"; $errmsg = ""; if ($size == (NULL && $size == "")) { echo "El archivo no contiene nada, no se insertará nada a la BD... intentalo nuevamente" . "<br />"; $errmsg = "No se insertó nada a la BD" . "<br />"; } else { if (!$conecta) { $errmsg = "No se ha podido contectar a la BD"; } if ($errmsg == "") { if ($_REQUEST[completed] == 1) { if ($size < 1000000000) { $id_conte = $row['idtemp'][0] + 1; //echo "Suma 1 a id" . "<br />"; $_SESSION['id'] = $id_conte; echo"Esta es la fila # $id_conte que se insertará" . "<br />"; } mysql_query ("INSERT INTO t_prueba_cont VALUES ('$id_conte','$name','$size','$type','$contenido', '$hoy')") or die('Error, query falló...'); echo "Datos insertados, revisa la DB..." . "<br />"; echo' Click <a href=downloadbd.php>aqui</a> para descargar el ultimo archivo.<br> </form> Click <a href=pruebaindex.php>aqui</a> para cargar otro archivo. '; } else { echo "Archivo demaciado grande...!"; } } else { echo "Envío no completado..."; } } } } } } else { echo "Archivo Invalido..." . "<br />"; } ?> 3°) Archivo para descargar desde la BD(downloadbd.php): <?php //Toma de variables de sesión $name = $_SESSION['nombre']; $type = $_SESSION['tipo']; $size = $_SESSION['tamano']; $id_conte = $_SESSION['id']; $base = "prueba"; $sql = "SELECT contenido FROM t_prueba_cont WHERE id_contenido ='".$id_conte."'"; { } else { echo "No está traiendo nada el query..."; } { echo $dato_binario; } ?> [COLOR="Red"]4°) Archivo para descargar desde FTP(downloadftp.php): ** Aqui está el problema, al descargar el archivo, me lo descarga VACIO y no sé porque!, pienso que es xq hace falta interpretar bien la función "ftp_get" Al revisar el archivo abriéndolo con notepad no me muestra ningún error. <?php $name = $_SESSION[nombre]; $type = $_SESSION[tipo]; $ruta = "carga_ftp_tmp/"; $temp_name = $ruta.$name; $servidor_ftp = "127.0.0.1"; $ftp_usuario = "marcela"; $ftp_clave = "cemsmgr75"; $nombre_bajar = $name; if ((!$conexion_id) || (!$resultado_login)) { echo "La conexion ha fallado! al conectar con $servidor_ftp para usuario $ftp_usuario" . "<br />"; exit; } else { if (!$download) { echo "Ha ocurrido un error al descargar el archivo" . "<br />"; } else { echo "Copia de $nombre_bajar desde el server FTP al equipo del usuario" . "<br />"; } echo "$download"; } ?>
¿Que estoy haciendo mal en esto ultimo?
Agradezco su apreciable ayuda.
Marsh_Sipder