Buenos días chicos, llevo una temporada intentando aprender a hacer una pagina web, y gracias a vuestro tutorial, lo que estoy haciendo va tomando cuerpo.
www.fermetmm.net84.net/index.html
El caso es que he creado una parte para socios y otra para administradores... y en la parte de administradores he llegado a un problema del que no encuentro solucción.
Lo que he creado es por un lado, una base de datos en mysql con varios datos de las fichas tecnicas que quiero subir. (cuatro campos, material, fichastec, item y date) y luego he creado una carpeta en mi host, en la que colgar los pdfs.
Hay un fichero php. que es el siguiente (su nombre pruebita.php)
<?php echo "<?xml version='1.0' encoding='iso-8859-1'?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::..Funciones FTP..::</title>
<link rel="stylesheet" href="indexi.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div id="global">
<div id="cabecera" align="center">
<div id="logotipo">
<a href="index.html"><img alt="Logotipo (40K)" src="objetos/logotipo.gif"> </a>
</div>
</div>
</a>
<p><font face="Verdana, Tahoma, Arial">
<?php
//Inicio la sesión
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username1'])) {
echo '<b>'.$_SESSION['k_username1'].'</b>.';
echo '<p><a href="logoutad.php">Logout</a></p>';
echo '<p><a href="herramientas.php">Herramientas</a></p>';
}else{
header('Location: loginad.php');
}
?>
<div align="center">
<strong><font color="#000000" size="3">Subir Archivo</font></strong></font></p>
<hr />
<!--Formulario para elegir el archivo a subir -->
<!--Formulario para elegir el archivo a subir -->
<form action="subirfi1.php" method="post" name="form_ftp" id="form_ftp" enctype="multipart/form-data" >
<td>Material</td>
<select name="material">
<option value="Aluminio">Aluminio</option>
<option value="Magnetita">Magnetita</option>
<option value="Olivino">Olivino</option>
<option value="Ferrosilicio">Ferrosilicio</option>
<option value="Cobre">Cobre</option>
<option value="Acero_inox">Acero inoxidable</option>
<option value="Otros">Otros</option>
</select>
</td>
<td>Ficha Técnica</td>
<td>
<input name="fichastec" size="20" class="camposTexto" type="text">
</td>
<td>
<p>
<font size="2" face="Verdana, Tahoma, Arial"> Elegir archivo :
<input name="archivo" type="file" id="archivo" />
<input name="Submit" type="submit" value="Subir Archivo" />
<input name="ListaOrdenada" value="material,fichastec," type="hidden">
</font><font size="2" face="Verdana, Tahoma, Arial"> </font>
</p>
</form>
<hr />
<p><font face="Verdana, Tahoma, Arial"><strong><font color="#000000" size="3">
Lista de Archivos
</font></strong></font></p>
<table width="69%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="38%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Nombre</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Tamaño</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Material</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>F. Tecn.</strong></font></div></td>
<td width="20%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Fec. Modificación</strong></font></div></td>
</tr>
<?
include('inc/cinex.php'); //Incluye el archivo de funciones
if(!empty($HTTP_POST_FILES["archivo"])){
$file = $HTTP_POST_FILES["archivo"]["tmp_name"];
$base_archivo = basename($HTTP_POST_FILES["archivo"]["name"]);
$id_ftp=ConectarFTP();
$upload = ftp_put($id_ftp, $base_archivo, $file, FTP_BINARY);
if (!$upload) {
$status = "Error al guardar: " . $base_archivo;
} else {
$status = "Exito al gaurdar: " . $base_archivo;
}
unset($HTTP_POST_FILES["archivo"]);
ftp_quit($id_ftp);
}
/*if(!empty($HTTP_POST_FILES["archivo"])){ //Comprueba si la variable "archivo" se ha definido
SubirArchivo($HTTP_POST_FILES["archivo"],basename($HTTP_POST_FILES["archivo"]));
//basename obtiene el nombre de archivo sin la ruta
unset($HTTP_POST_FILES["archivo"]); //Destruye la variable "archivo"
}*/
?>
<?
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP
echo "<b>El directorio actual es: </b> ".$ruta;
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb";
//Obtiene tamaño de archivo y lo pasa a KB
if($tamano=="-0.00 Kb") // Si es -0.00 Kb se refiere a un directorio
{
$item="<i>".$item."</i>";
$tamano=" ";
$material=$material;
$fichastec=$fichastec;
$fecha=" ";
}else{
$fecha=date("d/m/y h:i:s", ftp_mdtm($id_ftp,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>
<tr>
<td><font size="2" face="Verdana, Tahoma, Arial">
<? echo $item ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $tamano ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $material ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fichastec ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fecha ?></font></td>
</tr>
<? } ?>
</table>
</div>
</body>
</html>
Que es donde está el formulario para subir el fichero y pasar los datos a mysql
tengo otro fichero que es subirfi1.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mail</title>
<link rel="stylesheet" href="indexi.css" type="text/css" media="all">
</head>
<body>
<div id="content">
<div id="cabecera"><a href="index.html"><img alt="Logotipo (40K)" src="objetos/logotipo.gif" /></div>
</a>
<?php
//Inicio la sesión
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username1'])) {
echo '<b>'.$_SESSION['k_username1'].'</b>.';
echo '<p><a href="logoutad.php">Logout</a></p>';
}else{
header('Location: loginad.php');
}
//
mysql_connect(mis datos,'mis datos,'mis datos')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db(mis datos)or die ('Error al seleccionar la Base de Datos: '.mysql_error());
//formulario
echo '<form action="pruebita.php" method="post" enctype="multipart/form-data">';
echo 'Material<input type="Text" size="50" name="material" value="material">';
echo 'Ficha tecnica<input type="Text" size="50" name="fichastec" value="fichastec">';
echo 'Archivo<input type="Text" size="50" name="item" value="item">';
//variables de formulario
$material = $_POST['material'];
$fichastec = $_POST['fichastec'];
$item = $_POST['item'];
//consulta para introducir los registros en la db
$query = 'Insert into fichast (material,fichastec,item,date)
VALUES (\''.$material.'\',\''.$fichastec.'\',\''.$item.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo ' ha sido registrado de manera satisfactoria.<br />';
echo ' <p><a href="fichast.php">Fichas tecnicas</a></p>';
echo ' <p><a href="pruebita.php">Subir fichas tecnicas</a></p>';
echo ' <p><a href="herramientas.php">Herramientas</a></p>';
?>
<?php
include('inc/cinex.php'); //Incluye el archivo de funciones
if(!empty($HTTP_POST_FILES["archivo"])){
$file = $HTTP_POST_FILES["archivo"]["tmp_name"];
$base_archivo = basename($HTTP_POST_FILES["archivo"]["name"]);
$id_ftp=ConectarFTP();
$upload = ftp_put($id_ftp, $base_archivo, $file, FTP_BINARY);
if (!$upload) {
$status = "Error al guardar: " . $base_archivo;
} else {
$status = "Exito al gaurdar: " . $base_archivo;
}
unset($HTTP_POST_FILES["archivo"]);
ftp_quit($id_ftp);
}
/*if(!empty($HTTP_POST_FILES["archivo"])){ //Comprueba si la variable "archivo" se ha definido
SubirArchivo($HTTP_POST_FILES["archivo"],basename($HTTP_POST_FILES["archivo"]));
//basename obtiene el nombre de archivo sin la ruta
unset($HTTP_POST_FILES["archivo"]); //Destruye la variable "archivo"
}*/
?>
<p><font face="Verdana, Tahoma, Arial"><strong><font color="#000000" size="3">
Lista de Archivos
</font></strong></font></p>
<table width="69%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="38%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Nombre</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Tamaño</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Material</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>F. Tecn.</strong></font></div></td>
<td width="20%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Fec. Modificación</strong></font></div></td>
</tr>
<?
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP
echo "<b>El directorio actual es: </b> ".$ruta;
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb";
//Obtiene tamaño de archivo y lo pasa a KB
if($tamano=="-0.00 Kb") // Si es -0.00 Kb se refiere a un directorio
{
$item="<i>".$item."</i>";
$tamano=" ";
$material=$material;
$fichastec=$fichastec;
$fecha=" ";
}else{
$fecha=date("d/m/y h:i:s", ftp_mdtm($id_ftp,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>
<tr>
<td><font size="2" face="Verdana, Tahoma, Arial">
<? echo $item ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $tamano ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $material ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fichastec ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fecha ?></font></td>
</tr>
<? } ?>
</table>
</body>
</html>
que es el que sube los ficheros a la carpeta (lo hace bien) y me sube al mysql el dato de fecha, material, y ficha técnica.
y el fichero de enlace con lo anterior es este. cinex.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
# FUNCIONES FTP
# CONSTANTES
# Cambie estos datos por los de su Servidor FTP
define('SERVER',mis datos); //IP o Nombre del Servidor
define('PORT',21); //Puerto
define('USER','mis datos'); //Nombre de Usuario
define('PASSWORD','mis datos'); //Contraseña de acceso
define('MODO',true); //Activa modo pasivo
define('RUTA','public_html/fichastecnicas'); // Cambio de ruta (subido por Aitor)
# FUNCIONES
function ConectarFTP(){
//Permite conectarse al Servidor FTP
$id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,MODO); //Establece el modo de conexión
ftp_chdir($id_ftp,RUTA); // subido por Aitor
return $id_ftp; //Devuelve el manejador a la función
}
function SubirArchivo($archivo_local,$archivo_remoto){
//Sube archivo de la maquina Cliente al Servidor (Comando PUT)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY);
//Sube un archivo al Servidor FTP en modo Binario
ftp_quit($id_ftp); //Cierra la conexion FTP
}
function ObtenerRuta(){
//Obriene ruta del directorio del Servidor FTP (Comando PWD)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$Directorio=ftp_pwd($id_ftp); //Devuelve ruta actual p.e. "/home/willy"
ftp_quit($id_ftp); //Cierra la conexion FTP
return $Directorio; //Devuelve la ruta a la función
}
?>
</body>
</html>
Todo funciona "casi" como quiero.
Pero necesitaría
1.- Que en el mysql apareciese el nombre del fichero que he subido. (es el unico campo que no sube).
2.- Que en obtener ruta, o de alguna forma, se pudiera ver a que material corresponde cada fichero que se ha subido así.
Supongo que no es muy complicado, pero estoy ya ofuscado y obcecado... los datos se suben pero... no todo tal y como quisiera.
A ver si me podeis echar una mano.
www.fermetmm.net84.net/index.html
El caso es que he creado una parte para socios y otra para administradores... y en la parte de administradores he llegado a un problema del que no encuentro solucción.
Lo que he creado es por un lado, una base de datos en mysql con varios datos de las fichas tecnicas que quiero subir. (cuatro campos, material, fichastec, item y date) y luego he creado una carpeta en mi host, en la que colgar los pdfs.
Hay un fichero php. que es el siguiente (su nombre pruebita.php)
<?php echo "<?xml version='1.0' encoding='iso-8859-1'?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::..Funciones FTP..::</title>
<link rel="stylesheet" href="indexi.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div id="global">
<div id="cabecera" align="center">
<div id="logotipo">
<a href="index.html"><img alt="Logotipo (40K)" src="objetos/logotipo.gif"> </a>
</div>
</div>
</a>
<p><font face="Verdana, Tahoma, Arial">
<?php
//Inicio la sesión
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username1'])) {
echo '<b>'.$_SESSION['k_username1'].'</b>.';
echo '<p><a href="logoutad.php">Logout</a></p>';
echo '<p><a href="herramientas.php">Herramientas</a></p>';
}else{
header('Location: loginad.php');
}
?>
<div align="center">
<strong><font color="#000000" size="3">Subir Archivo</font></strong></font></p>
<hr />
<!--Formulario para elegir el archivo a subir -->
<!--Formulario para elegir el archivo a subir -->
<form action="subirfi1.php" method="post" name="form_ftp" id="form_ftp" enctype="multipart/form-data" >
<td>Material</td>
<select name="material">
<option value="Aluminio">Aluminio</option>
<option value="Magnetita">Magnetita</option>
<option value="Olivino">Olivino</option>
<option value="Ferrosilicio">Ferrosilicio</option>
<option value="Cobre">Cobre</option>
<option value="Acero_inox">Acero inoxidable</option>
<option value="Otros">Otros</option>
</select>
</td>
<td>Ficha Técnica</td>
<td>
<input name="fichastec" size="20" class="camposTexto" type="text">
</td>
<td>
<p>
<font size="2" face="Verdana, Tahoma, Arial"> Elegir archivo :
<input name="archivo" type="file" id="archivo" />
<input name="Submit" type="submit" value="Subir Archivo" />
<input name="ListaOrdenada" value="material,fichastec," type="hidden">
</font><font size="2" face="Verdana, Tahoma, Arial"> </font>
</p>
</form>
<hr />
<p><font face="Verdana, Tahoma, Arial"><strong><font color="#000000" size="3">
Lista de Archivos
</font></strong></font></p>
<table width="69%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="38%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Nombre</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Tamaño</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Material</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>F. Tecn.</strong></font></div></td>
<td width="20%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Fec. Modificación</strong></font></div></td>
</tr>
<?
include('inc/cinex.php'); //Incluye el archivo de funciones
if(!empty($HTTP_POST_FILES["archivo"])){
$file = $HTTP_POST_FILES["archivo"]["tmp_name"];
$base_archivo = basename($HTTP_POST_FILES["archivo"]["name"]);
$id_ftp=ConectarFTP();
$upload = ftp_put($id_ftp, $base_archivo, $file, FTP_BINARY);
if (!$upload) {
$status = "Error al guardar: " . $base_archivo;
} else {
$status = "Exito al gaurdar: " . $base_archivo;
}
unset($HTTP_POST_FILES["archivo"]);
ftp_quit($id_ftp);
}
/*if(!empty($HTTP_POST_FILES["archivo"])){ //Comprueba si la variable "archivo" se ha definido
SubirArchivo($HTTP_POST_FILES["archivo"],basename($HTTP_POST_FILES["archivo"]));
//basename obtiene el nombre de archivo sin la ruta
unset($HTTP_POST_FILES["archivo"]); //Destruye la variable "archivo"
}*/
?>
<?
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP
echo "<b>El directorio actual es: </b> ".$ruta;
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb";
//Obtiene tamaño de archivo y lo pasa a KB
if($tamano=="-0.00 Kb") // Si es -0.00 Kb se refiere a un directorio
{
$item="<i>".$item."</i>";
$tamano=" ";
$material=$material;
$fichastec=$fichastec;
$fecha=" ";
}else{
$fecha=date("d/m/y h:i:s", ftp_mdtm($id_ftp,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>
<tr>
<td><font size="2" face="Verdana, Tahoma, Arial">
<? echo $item ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $tamano ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $material ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fichastec ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fecha ?></font></td>
</tr>
<? } ?>
</table>
</div>
</body>
</html>
Que es donde está el formulario para subir el fichero y pasar los datos a mysql
tengo otro fichero que es subirfi1.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mail</title>
<link rel="stylesheet" href="indexi.css" type="text/css" media="all">
</head>
<body>
<div id="content">
<div id="cabecera"><a href="index.html"><img alt="Logotipo (40K)" src="objetos/logotipo.gif" /></div>
</a>
<?php
//Inicio la sesión
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username1'])) {
echo '<b>'.$_SESSION['k_username1'].'</b>.';
echo '<p><a href="logoutad.php">Logout</a></p>';
}else{
header('Location: loginad.php');
}
//
mysql_connect(mis datos,'mis datos,'mis datos')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db(mis datos)or die ('Error al seleccionar la Base de Datos: '.mysql_error());
//formulario
echo '<form action="pruebita.php" method="post" enctype="multipart/form-data">';
echo 'Material<input type="Text" size="50" name="material" value="material">';
echo 'Ficha tecnica<input type="Text" size="50" name="fichastec" value="fichastec">';
echo 'Archivo<input type="Text" size="50" name="item" value="item">';
//variables de formulario
$material = $_POST['material'];
$fichastec = $_POST['fichastec'];
$item = $_POST['item'];
//consulta para introducir los registros en la db
$query = 'Insert into fichast (material,fichastec,item,date)
VALUES (\''.$material.'\',\''.$fichastec.'\',\''.$item.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo ' ha sido registrado de manera satisfactoria.<br />';
echo ' <p><a href="fichast.php">Fichas tecnicas</a></p>';
echo ' <p><a href="pruebita.php">Subir fichas tecnicas</a></p>';
echo ' <p><a href="herramientas.php">Herramientas</a></p>';
?>
<?php
include('inc/cinex.php'); //Incluye el archivo de funciones
if(!empty($HTTP_POST_FILES["archivo"])){
$file = $HTTP_POST_FILES["archivo"]["tmp_name"];
$base_archivo = basename($HTTP_POST_FILES["archivo"]["name"]);
$id_ftp=ConectarFTP();
$upload = ftp_put($id_ftp, $base_archivo, $file, FTP_BINARY);
if (!$upload) {
$status = "Error al guardar: " . $base_archivo;
} else {
$status = "Exito al gaurdar: " . $base_archivo;
}
unset($HTTP_POST_FILES["archivo"]);
ftp_quit($id_ftp);
}
/*if(!empty($HTTP_POST_FILES["archivo"])){ //Comprueba si la variable "archivo" se ha definido
SubirArchivo($HTTP_POST_FILES["archivo"],basename($HTTP_POST_FILES["archivo"]));
//basename obtiene el nombre de archivo sin la ruta
unset($HTTP_POST_FILES["archivo"]); //Destruye la variable "archivo"
}*/
?>
<p><font face="Verdana, Tahoma, Arial"><strong><font color="#000000" size="3">
Lista de Archivos
</font></strong></font></p>
<table width="69%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="38%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Nombre</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Tamaño</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Material</strong></font></div></td>
<td width="14%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>F. Tecn.</strong></font></div></td>
<td width="20%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Fec. Modificación</strong></font></div></td>
</tr>
<?
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP
echo "<b>El directorio actual es: </b> ".$ruta;
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb";
//Obtiene tamaño de archivo y lo pasa a KB
if($tamano=="-0.00 Kb") // Si es -0.00 Kb se refiere a un directorio
{
$item="<i>".$item."</i>";
$tamano=" ";
$material=$material;
$fichastec=$fichastec;
$fecha=" ";
}else{
$fecha=date("d/m/y h:i:s", ftp_mdtm($id_ftp,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>
<tr>
<td><font size="2" face="Verdana, Tahoma, Arial">
<? echo $item ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $tamano ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $material ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fichastec ?></font></td>
<td align="right"><font size="2" face="Verdana, Tahoma, Arial">
<? echo $fecha ?></font></td>
</tr>
<? } ?>
</table>
</body>
</html>
que es el que sube los ficheros a la carpeta (lo hace bien) y me sube al mysql el dato de fecha, material, y ficha técnica.
y el fichero de enlace con lo anterior es este. cinex.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
# FUNCIONES FTP
# CONSTANTES
# Cambie estos datos por los de su Servidor FTP
define('SERVER',mis datos); //IP o Nombre del Servidor
define('PORT',21); //Puerto
define('USER','mis datos'); //Nombre de Usuario
define('PASSWORD','mis datos'); //Contraseña de acceso
define('MODO',true); //Activa modo pasivo
define('RUTA','public_html/fichastecnicas'); // Cambio de ruta (subido por Aitor)
# FUNCIONES
function ConectarFTP(){
//Permite conectarse al Servidor FTP
$id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,MODO); //Establece el modo de conexión
ftp_chdir($id_ftp,RUTA); // subido por Aitor
return $id_ftp; //Devuelve el manejador a la función
}
function SubirArchivo($archivo_local,$archivo_remoto){
//Sube archivo de la maquina Cliente al Servidor (Comando PUT)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY);
//Sube un archivo al Servidor FTP en modo Binario
ftp_quit($id_ftp); //Cierra la conexion FTP
}
function ObtenerRuta(){
//Obriene ruta del directorio del Servidor FTP (Comando PWD)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$Directorio=ftp_pwd($id_ftp); //Devuelve ruta actual p.e. "/home/willy"
ftp_quit($id_ftp); //Cierra la conexion FTP
return $Directorio; //Devuelve la ruta a la función
}
?>
</body>
</html>
Todo funciona "casi" como quiero.
Pero necesitaría
1.- Que en el mysql apareciese el nombre del fichero que he subido. (es el unico campo que no sube).
2.- Que en obtener ruta, o de alguna forma, se pudiera ver a que material corresponde cada fichero que se ha subido así.
Supongo que no es muy complicado, pero estoy ya ofuscado y obcecado... los datos se suben pero... no todo tal y como quisiera.
A ver si me podeis echar una mano.