Domanda

Ho problemi Eliminazione di un file da una directory più alta, ho trovato questo post e l'ho provato, ma senza fortuna ....:

gotdalife a gmail dot com 25-Set-2008 02:04

Per tutti coloro che ha avuto un problema con il Errore di autorizzazioni negate, è a volte causato quando si tenta di eliminare un file che è in una cartella più alto nella gerarchia al tuo directory di lavoro (vale a dire quando si cerca di eliminare un percorso che inizia con" ../").

Quindi, per risolvere questo problema, è può usare chdir () per cambiare il lavoro alla cartella in cui il file che si desidera scollegare si trova.

<?php
>     $old = getcwd(); // Save the current directory
>     chdir($path_to_file);
>     unlink($filename);
>     chdir($old); // Restore the old working directory     ?>

qui è il codice che ho attualmente:

session_start();

if (!isset($_SESSION['agent']) OR ($_SESSION['agent'] !=md5($_SERVER['HTTP_USER_AGENT']))){

    require_once ('includes/login_functions.inc.php');
    $url = absolute_url();
    header("Location: $url");
    exit();
}  



$folder = $_GET['folder'];
$filename = $_GET['name'];
$path = "../gallery/photos/$folder";

if (isset($_POST['submitted'])) {

    if ($_POST['sure'] == 'Yes') {  

        $old = getcwd(); // Save the current directory
        chdir($path);
        unlink($filename);
        chdir($old); // Restore the old working directory  

    }
    else{

        echo '<p>The photo has NOT been deleted.</p>';
    }
}

sto ottenendo il messaggio di errore:

Attenzione: unlink () [function.unlink]: Nessun errore in J: \ xampp \ htdocs \ bunker \ admin \ delete_file.php sulla linea 37

linea 37 essendo:

unlink($filename);

Qualcuno può vedere quello che ho torto?

È stato utile?

Soluzione

Io uso sempre nomi di percorso assoluto.

mi piacerebbe definire il filedir come una costante nella vostra configurazione, quindi concatenare in modo da avere un percorso assoluto, quindi effettuare una chiamata a unlink ().

A proposito:. Spero che tu sappia il codice è molto insicuro

Altri suggerimenti

Vedere qui:

http://bugs.php.net/bug.php?id=43511

e qui

http://php.bigresource.com/Track-php-03TimDKO/

http://www.phpbuilder.com/board/showthread.php? t = 10357994

Anche se io lo consiglio vivamente di fare questo, secondo le osservazioni di cui sopra. C'è la possibilità di un approccio diverso?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top