ďťż

[PHP]Pomocy !! gdzie mam błąd...

       

Podstrony


telcocafe

Oto kod:
<HTML> <HEAD> </HEAD> <BODY> <?php $katalog="./p"; if(!($dp=opendir($katalog))) die ("Nie moge otworzyc katalogu $katalog"); while($file=readdir($dp)) { if($file!='.' && $file!='..') { $z=0; $filenames[]=$file; $filesizes[]=filesize("$katalog/$file"); echo "$file Rozmiar: $filesizes[$z] Bajtow<BR>"; $z++; }} closedir($dp); #20 $katalog2="./p2"; if(!($dp2=opendir($katalog2))) die ("Nie moge otworzyc katalogu $katalog2"); while($file2=readdir($dp2)) { if($file2!='.' && $file2!='..') { $z=0; $filenames2[]=$file; $filesizes2[]=filesize("$katalog2/$file2"); echo "$file2 Rozmiar: $filesizes2[$z] bajtow<BR>"; $z++; }} closedir($dp2); foreach($filesizes as $index => $element) { for($i=0; $i<=sizeof($filesizes2); $i++) { if($element==$filesizes2[$i]) { #43 $plik="$katalog/$filenames[$index]"; $fp=fopen($plik, "r"); $ciag=fread($fp, 20); fclose($fp); $plik2="$katalog2/$filenames2[$i]"; $fp2=fopen($plik2, "r"); $ciag2=fread($fp2, 20); fclose($fp2); if($ciag==$ciag2) { echo "Pliki o tych samych zawartosciach to pliki $filenames[$index] oraz $filenames2[$i]"; } else { echo "Nie ma plikow tych samych"; } }}} ?> </BODY> </HTML>
Kiedy odpale go wyskakuje komunikat:
d.txt Rozmiar: 6 Bajtow dadsf.txt Rozmiar: 6 bajtow Warning: fopen(./p2/): failed to open stream: Permission denied in c:\usr\krasnal\www\pura89\zad3.php on line 50 Warning: fread(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\pura89\zad3.php on line 51 Warning: fclose(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\pura89\zad3.php on line 52 Nie ma plikow tych samych



A masz dobrze ustawione uprawnienia dla plików i katalogów?

Czy to nie jest do zadania z PHP Challenge?

mam ustawione upranienia wszystko jest w porządku tylko nie wiem czemu taka uwaga od php.

El Mariachi masz oko bo też coś mi się zdaje, że to do PHP Challenge:) Tak w sam raz zadanie 3 :P



[OT] szkoda, że ostatnio nie miałem czasu i nie zrobiłem zadań :( [tylko pierwsze wysłałem] Chyba już po jabłkach...
Użytkownik El Mariachi edytował ten post 11 wrzesień 2005, 15:14
No prosze pomóżcie bo juz siedze nad tym kodem od wczoraj i nie wiem co źle ?? :(


[OT] szkoda, że ostatnio nie miałem czasu i nie zrobiłem zadań :( [tylko pierwsze wysłałem] Chyba już po jabłkach...


Jedno zadanie to jeszcze nie tak strasznie dużo :) 3 zadanie możesz wysłać jeszcze dzisiaj, a 4 jeszcze jutro :)

BTW.... fakt, wygląda jak próba rozwiązania zadania z PHP Challenge  :huh:

BTW... problem z uprawnieniami na windzie - pierwsze widze :D

Nie no co ty mam wszyskie uprawnienia. ja myślę że jest chyba błąd w skrypcie tylko nie wiem jaki :(

Dobra zrobiłem problem rozwiązany temat do zamknięcia :)

Błąd jest w linii 29: pownno być
if($file2!='.' && $file2!='..') {    $z=0;    $filenames2[]=$file2; //tutaj zabrakło tej "2"    $filesizes2[]=filesize("$katalog2/$file2");    echo "$file2 Rozmiar: $filesizes2[$z] bajtow<BR>";    $z++; }

Poza tym jest jeszcze jeden błąd:
for($i=0; $i<=sizeof($filesizes2); $i++)

Powinno być:
for($i=0; $i<sizeof($filesizes2); $i++)
Użytkownik El Mariachi edytował ten post 11 wrzesień 2005, 16:34
Oto cały porawny kod (pura89 - jak już zliczasz indeks tablicy to go stosuj):

<HTML> <HEAD> </HEAD> <BODY> <?php $katalog='./p'; if(!($dp=opendir($katalog))) die ('Nie moge otworzyc katalogu '.$katalog); while($file=readdir($dp)) {   if($file!='.' && $file!='..')     { $z=0; $filenames[$z]=$file; $filesizes[$z]=filesize("$katalog/$file"); echo $filenames[$z].' Rozmiar: '.$filesizes[$z].' Bajtow<BR>'; $z++;     } } closedir($dp); $katalog2='./p2'; if(!($dp2=opendir($katalog2))) die ('Nie moge otworzyc katalogu '.$katalog2); while($file2=readdir($dp2)) {  if($file2!='.' && $file2!='..')  {    $z=0;    $filenames2[$z]=$file2;    $filesizes2[$z]=filesize("$katalog2/$file2");    echo $filenames2[$z].' Rozmiar: '.$filesizes2[$z].' bajtow<BR>';    $z++;  } } closedir($dp2); foreach($filesizes as $index => $element) {  for($i=0; $i<sizeof($filesizes2); $i++)  {    if($element==$filesizes2[$i])    {      $plik="$katalog/$filenames[$index]";      $fp=fopen($plik, "r");      $ciag=fread($fp, 20);      fclose($fp);      $plik2="$katalog2/$filenames2[$i]";      $fp2=fopen($plik2, "r");      $ciag2=fread($fp2, 20);      fclose($fp2);      if($ciag==$ciag2)      {        echo 'Pliki o tej samej zawartosci to pliki '.$filenames[$index].' oraz '.$filenames2[$i];      }      else      {        echo 'Nie ma plikow o tej samej zawartości';      }    }  } } ?> </BODY> </HTML>

Poprawiłem trochę wyświetlanie wyników, ponieważ używanie " " jest wolniejsze od ' '

Dobra Wielkie dzięki. Już wszystko mam w porządku. Tylko ja mam taką cichą nadzieję że nikt nie weźmie sobie tego kodu i nie wyśle na konkurs. Ale chyba Kodie wie że to mój skrypt. Wielkie dzięki za pomoc.

bo to jest rozwiazanie z php czale... czy jakos tak : p
ja juz to zrobilem
aha el mariach admini walneli blad wiec mozesz do jutra wysylac zadania

4 jest po prostu smiesznie proste zajmie ci jakeis 2 minuty

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.