![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam skrypt zarządzajacy zawartościa katalogów z poziomu przegladarki. Umożliwia on Upload, Download, i Kasowanie plików. Niestety , o ile poradziłem sobie z polskimi znakami w nazwi pliku, nie potrafie Uploadowac, Skasować czy tez pobrac pliku który posiada znak & ampersand w nazwie. Czy istnieje na to jakieś rozwiązanie, procz oczywiście wykluczenia stosowanie takiego znaku w nazwie pliku. Poniżej kod skryptu. CODE <?php
session_start(); if(!isset($katalog)) { echo 'Brak dostępu. Zaloguj sie jako administrator'; exit; } if(!is_null($_POST["kat"]) && $_POST["kat"] != "") { $_SESSION['folder']= $_POST["kat"]; } $readpath = "/$katalog/$folder/"; $hide = array( 'resources', 'index.php', '.htaccess', '.htpasswd', '.DS_Store'); error_reporting(E_ERROR); if ($_GET['download']) { $file = str_replace('/', '', $_GET['download']); $file = str_replace('..', '', $file); $file = $readpath.$file; if (file_exists($file)) { header("Content-type: application/x-download"); header("Content-Length: ".filesize($file)); header('Content-Disposition: attachment; filename="' . str_replace($readpath, '', $file) . '"'); readfile($file); die(); } } $handle = opendir($readpath); // If deleting if (isset($_GET['rmfile'])) { unlink($readpath . $_GET['rmfile']); } // If uploading if ($_FILES['file']) { $success = move_uploaded_file($_FILES['file']['tmp_name'], $readpath. $_FILES['file']['name']); } $key=0; while ($file = readdir($handle)) { if ($file == "." || $file == ".." || in_array($file, $hide)) continue; $key++; $files[$key] = $file; } closedir($handle); // ksort($files, SORT_NUMERIC); $files = array_reverse($files); ?> <!DOCTYPE html> <html> <head> <title>Manager plikow Klienta</title> <link rel="stylesheet" type="text/css" href="images/styles.css"> </head> <body> <table border="0" cellspacing="5" cellpadding="5"> <?php for ($i=0; $i<count($files); $i++) { $filename = $files[$i]; ?> <tr> <td><a href="manager.php?download=<?php echo $filename; ?>"><?php echo $filename; ?></a></td> <td><a href="manager.php?rmfile=<?php echo $filename; ?>">Kasuj</a></td> </tr> <?php };?> </table> <div id="upload"> <div style="text-align: left; color: rgb(51, 102, 255);"><span style="font-family: Verdana; ">Wybierz plik do wgrania</span><p> </p> <form method="post" action="manager.php" enctype="multipart/form-data"> <p><input type="file" name="file"></p> <p></center><input type="submit" value="Wgraj plik"></p> </form> <div id="wybor"> <div style="text-align: left; color: rgb(51, 102, 255);"><span style="font-family: Verdana; ">Wybierz katalog</span><p> </p> <form action="manager.php" method="post" name="Wybierz katalog"> <select name="kat" > <option selected="selected" value="Dane">Podstawowe informacje</option> <option value="Download">Download</option> <option value="Info">Informacje</option> <option value="Deklaracje">Deklaracje</option> <option value="Archiwum">Archiwum</option> </select> <p><input type="submit" value="Zatwierdz"></p> </form> </div> </body> </html> |
|
|
![]() |
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
możesz np zamienić znak & na _ albo jakiś inny znak...
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
No włanie , zmiana znaku nie wchodzi w gre.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Tzn. jak dasz unlink z nazwą z "&", to nie kasuje, czy tylko wówczas, gdy przychodzi on od użytkownika?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
żadnej operacji na pliku z znakiem & nie da sie przeprowadzić za pomocą tego skryptu
|
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
a coś takiego Ci nie pomoże, zmiana & na ASCII: http://api.drupal.org/api/function/drupal_urlencode/5
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
A nie ma innej możliwosci ? Zmiana na ASCII powoduje to ze plik nie wyświetla sie ze znakiem &. Nie jestem buegły w php, ale czy nie mozna traktować plików za pomocą tego skryptu jako ciągu znaków np ? Pewnie to jakaś prosta sprawa i klamerki w skrypcie.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A na jakim systemie działa serwer?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:16 |