How to use Unlink() function

前端 未结 5 986
说谎
说谎 2021-01-01 22:46

I\'m trying to use PHP unlink() function to delete away the specific document in the folder. That particular folder has already been assigned to full rights to

相关标签:
5条回答
  • 2021-01-01 23:21

    You need the full file path to the file of interest. For example: C:\doc\stuff\sample.docx. Try using __DIR__ or __FILE__ to get your relative file position so you can navigate to the file of interest.

    0 讨论(0)
  • 2021-01-01 23:36

    I found this information in the comments of the function unlink()

    Under Windows System and Apache, denied access to file is an usual error to unlink file. To delete file you must to change the file's owner. An example:

    chown($tempDirectory . '/' . $fileName, 666); //Insert an Invalid UserId to set to Nobody Owern; 666 is my standard for "Nobody" 
    unlink($tempDirectory . '/' . $fileName); 
    

    So try something like this:

    $path = './doc/stuffs/sample.docx';
    
    chown($path, 666);
    
    if (unlink($path)) {
        echo 'success';
    } else {
        echo 'fail';
    }
    

    EDIT 1

    Try to use this in the path:

    $path = '.'
             . DIRECTORY_SEPARATOR . 'doc'
             . DIRECTORY_SEPARATOR . 'stuffs'
             . DIRECTORY_SEPARATOR . 'sample.docx';
    
    0 讨论(0)
  • 2021-01-01 23:37

    Try this:

    $Path = './doc/stuffs/sample.docx';
    if (file_exists($Path)){
        if (unlink($Path)) {   
            echo "success";
        } else {
            echo "fail";    
        }   
    } else {
        echo "file does not exist";
    }
    

    If you get file does not exist, you have the wrong path. If not, it may be a permissions issue.

    0 讨论(0)
  • 2021-01-01 23:40

    This should work once you are done with the permission issue. Also try

    ini_set('display_errors', 'On');  
    

    That will tell you whats wrong

    0 讨论(0)
  • 2021-01-01 23:43
    define("BASE_URL", DIRECTORY_SEPARATOR . "book" . DIRECTORY_SEPARATOR);
    define("ROOT_PATH", $_SERVER['DOCUMENT_ROOT'] . BASE_URL);
    
    $path = "doc/stuffs/sample.docx";
    
    if (unlink(ROOT_PATH . $Path)) {   
      echo "success";
    } else {
      echo "fail";    
    }
    
    // http://localhost/book/doc/stuffs/sample.docx
    // C:/xampp/htdocs\book\doc/stuffs/sample.docx
    
    0 讨论(0)
提交回复
热议问题