PHP Subir un nivel en una ruta para eliminar una imagen ../

publicado por: Anonymous

Tengo un formulario donde puedes subir y eliminar imagenes que se guardan en una carpeta que está a un nivel superior. Esta es la ruta:

  • Imagenes_folder/imagen.jpg
  • Form_folder/form.html

Desde form.html quiero eliminar una imagen pero no encuentra la ruta en php. $_POST['archivo'] contiene el nombre de la imagen, en este ejemplo seria “imagen.jpg”

<?php
$mainRoot = "..//" . "Imagenes_folder//";
if (isset($_POST['archivo'])) {  
    $archivo = $_POST['archivo'];
    $ruta = $mainRoot . basename($archivo);
    if (file_exists($ruta)) {
        unlink($ruta);
    }
}
?>

No me reconoce la ruta. Si cambio form.html para que esté en el mismo nivel que Imagenes_folder si me funciona:

  • Imagenes_folder/imagen.jpg
  • form.html

        $mainRoot = "Imagenes_folder//";
        if (isset($_POST['archivo'])) {  
            $archivo = $_POST['archivo'];
          $ruta = $mainRoot . basename($archivo);
             if (file_exists($ruta)) {
                unlink($ruta);
            }
        }
    

“..//” Esta no es la forma de subir un nivel? He probado con “../” y “../../”

solución

Muchas gracias por vuestras respuestas. Finalmente lo que me ha funcionado para subir un nivel es “./” (solamente un punto)

He encontrado la solución aqui https://stackoverflow.com/questions/4169286/file-exists-isnt-finding-the-file

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *