ďťż
Podstrony
|
telcocafeOto 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 |
|||
Sitedesign by AltusUmbrae. |