Tengo una conexión FTP, donde un administrador va a subir o eliminar archivos segun convenga....
tengo el siguiente codigo::::
eliminar.php
Código PHP:
ob_start();
session_start();
require("Conexion.php");
if(isset($_SESSION['usuario'])){
$ftp_server="ftp.server.mx";
$ftp_usuario="[email protected]";
$ftp_password="mypassword";
}else{
header("Location:../inicio.php?Error=Acceso denegado");
}
if (isset($_GET['n'])){
$nom=$_GET['n'];
}else{
header("Location:administrador.php?Error=Acceso denegado");
}
Código Javascript:
Ver original
<script type="text/javascript"> $(function(){ $(".elim").click(function(){ var element = $(this); var del_id = element.attr("id"); var info = 'id=' + del_id; ***************************************** var nombre = "<?echo $nom;?>"; var nom1 = 'nom=' + nombre; //ESTO ES LO QUE NO SE SI ESTE BIEN ***************************************** if(confirm("¿Seguro que quieres eliminar el archivo seleccionado?")) { $.ajax({ type: "POST", url: "ajax.php", ***************************************** data: {info, nom1},//AQUI TAMBIEN ***************************************** success: function(){ } }); $(this).parents(".show").animate({ backgroundColor: "#003" }, "slow") .animate({ opacity: "hide" }, "slow"); } return false; }); }); </script>
Código PHP:
<div class="col-sm-12"> <!--AQUÍ LA TABLA-->
<b>CONTENIDO FTP</b>
<table class="table" border="1">
<tr>
<td><b>Archivo</b></td>
<td><b>Tamaño</b></td>
<td><b>Fecha</b></td>
<td class="text-center"><b><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></b></td>
</tr>
<?php
// establecer una conexión básica AL SERVIDOR FTP
$conn_id = ftp_connect($ftp_server) or die('No se pudo conectar con el servior');
// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_usuario, $ftp_password)or die('No se pudo acceder al servior');
//usar ftp en modo pasivo
ftp_pasv($conn_id, true);
// cambiar al directorio
ftp_chdir($conn_id, $nom);
// Obtener los archivos contenidos en el directorio actual
$files = ftp_nlist($conn_id, '.');
//antes de invertir el arreglo, ocultamos los primeros 2 elementos (los subdirectorios)
unset($files['0']); //ocultamos .
unset($files['1']); //ocultamos ..
$files=array_reverse($files); //Invierte orden del array (ordena array)
while ($item=array_pop($files)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($conn_id,$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=$item;
$tamano=" ";
$fecha=" ";
}else{
$fecha=date("d/m/y h:i:s", ftp_mdtm($conn_id,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>
<tr onmouseover="OverFunction(this)" onmouseout="OutFunction(this)">
<td width="30%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $item ?></font></td>
<td width="20%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $tamano ?></font></td>
<td width="30%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $fecha ?></font></td>
<td id="elim" class="text-center" width="20%"><font size="2" face="Verdana, Tahoma, Arial">
<?php echo "<a href='#' title='Eliminar' class='elim' id=".$item.">Eliminar</a>" ?></font></td>
</tr>
<?php
}
?>
</table>
</div>
<?php
ob_end_flush();
?>
ajax.php
Código PHP:
<?php
*****************************************
if(isset($_POST['id']) && isset($_POST['nom'])) //SUPONGO QUE AQUI ESTA EL PROBLEMA (o no?)
*****************************************
{
$file = $_POST['id'];
$nom=$_POST['nom'];
$ftp_server="ftp.server.mx";
$ftp_usuario="[email protected]";
$ftp_password="mypassword";
// establecer una conexión básica AL SERVIDOR FTP
$conn_id = ftp_connect($ftp_server) or die('No se pudo conectar con el servior');
// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_usuario, $ftp_password)or die('No se pudo acceder al servior');
//usar ftp en modo pasivo
ftp_pasv($conn_id, true);
// cambiar al directorio
ftp_chdir($conn_id,$nom);
// intentar eliminar el archivo $file
if (ftp_delete($conn_id, $file)) {
echo'<script type="text/javascript">
swal("¡Listo!", "El archivo se eliminó de forma correcta.", "success");
</script>';
} else {
echo'<script type="text/javascript">
swal("¡Error!", "El archivo no se pudo eliminar correctamente.", "error");
</script>';
}
}
?>
Ahora si... ¿donde está mal? no se mucho ajax así que estoy a prueba y error....
Necesito pasar la variable $nom que es de php por ajax porque el objetivo del administrador es subir y eliminar archivos diferentes para cada usuario registrado en el sistema, y nom es el nombre del usuario por lo tanto el nombre de la carpeta a la que debo accesar