Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Usuwanie plików
Forum PHP.pl > Forum > Przedszkole
dk1342
Temat do usunięcia
HellRider
Przed unlink chyba pominąłeś

if (

klamerek nie liczyłem, ale ta otwarta zaraz za unlink i dodatkowy nawias zamykający właśnie to sugerują.

Jednak policzyłem, człowieku, sztuka tabulacji się kłania smile.gif

  1. <?php
  2. if(file_exists($_GET['plik'])==true){
  3.  $a=explode('.', $_GET['plik']);
  4.  if(($a[count(a)]=='.zip') or ($a[count(a)]=='.rar')){
  5.    if(md5('ala123'.$_GET['plik'].'test')==$_GET['hash']){
  6.      if (unlink('files/'.$_GET['plik'])){
  7.        echo "Plik: ".$_GET['plik']." został usunięty.";
  8.      }
  9.    }else{
  10.      echo"Hash jest zły!";
  11.    }
  12.  }
  13. }else{
  14.  echo "Nie ma takiego pliku!!";
  15. }
  16. ?>
dk1342
dzięki, jest już komunikat ale pisze że nie ma takiego pliku a taki plik jest bo widze w ftp...

albo gdy usune hash czyli np.

http://www.mojastrona.pl/pliki/test/usun.p...k.zip&hash=

to zamiast pisać hash jest nie prawidłowy to pisze dalej nie ma takiego pliku...

czyli coś jest nadał źle sad.gif
HellRider
Widocznie warunek
(file_exists($_GET['plik'])==true)
nie jest spełniony, sprawdź czy dobrze tworzysz ścieżkę do $_GET['plik'].
Zakładam, że nie trzymasz tych plików razem z indexem i stuffem smile.gif
dk1342
Cytat(HellRider @ 18.10.2008, 18:37:49 ) *
Zakładam, że nie trzymasz tych plików razem z indexem i stuffem smile.gif


nie, index mam w głównykatalog/pliki/test/index.php

a pliki:

głównykatalog/pliki/test/files

zaraz sprawdze jeszcze scieżke
HellRider
Heh, no to warunek powinien wyglądać nastepująco:

(file_exists("files/".$_GET['plik'])==true)
dk1342
post do usunięcia
pyro
if(($a[count(a)]

popraw
dk1342
yyy nie wiem co ty zmieniłeś ale wsadziłem tą twoją poprawioną wersje i dalej to samo
pyro
ja ci nic nie zmienilem tylko pokazalem co TY masz zmienic smile.gif
dk1342
aaaa ok ja tego kodu nie napisałem więc nie jestem tak dobry w php ale poszukam może coś znajde

hmm chyba nie wiem, nie mam pojęcia

moze dodać $ ?

if(($a[count($a)]

questionmark.gif
pyro
moze tak? i do tego gdzies jeszcze?
dk1342
dodałem te $ $

Kod
if(($a[count($a)] =='.zip') or ($a[count($a)]
=='.rar')){


ale nic nie dało dalej to samo
pyro
hint: w tablicy elementy numeruje sie od 0
dk1342
hmm możesz jaśniej questionmark.gif
pyro
  1. <?php
  2. $a = array('jeden','dwa');
  3. echo $a[count($a)]; // nie ma takiego elementu o kluczu 2, sa tylko elementy 0 i 1
  4. ?>


// edit

down: nie wniosles raczej nic nowego
Chrom
pierwszy element ma numer zero
dk1342
już się pomieszałem haha.gif to ze zmenczenia czyli jak bedzie to wyglądało całe ?
pyro
Cytat(dk1342 @ 18.10.2008, 21:59:19 ) *
już się pomieszałem haha.gif to ze zmenczenia czyli jak bedzie to wyglądało całe ?


...to się okaże jak już poprawisz.
HellRider
Eh, tabulacja, tablulacja. Kod wrzucony jak do worka.
Dwie sprawy:
1. Plik aaa.jpg ma dwa człony, count($a) wynosi 2, ale $a wygląda tak:
  1. <?php
  2. $a[0] = "aaa";
  3. $a[1] = "jpg"; // bez kropki
  4. ?>

więc drugi element to count($a)-1, zawsze ostatni element tablicy, której indeks rozpoczyna się od zera, to count($tablica)-1

2. explode podzieli string przez kropkę, ale ta kropka nie zostanie dodana, ona jest separatorem.

Poprawiony kod:
  1. <?php
  2. if (file_exists("files/".$_GET['plik'])){
  3.  $a=explode('.', $_GET['plik']);
  4.  if(($a[count($a)-1]=='zip') or ($a[count($a)-1]=='rar')){
  5.    if(md5('ala123'.$_GET['plik'].'test')==$_GET['hash']){
  6.      if (unlink("files/".$_GET['plik'])){
  7.        echo "Plik: ".$_GET['plik']." został usunięty.";
  8.      }else{
  9.        echo "Błąd przy usuwaniu pliku!";
  10.      }
  11.    }else{
  12.      echo "Niewłaściwy hash!";
  13.    }
  14.  }else{
  15.    echo "Dane rozszerzenie pliku nie jest dozwolone!"
  16.  }
  17. }else{
  18.  echo "Taki plik nie istnieje!";
  19. }
  20. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.