Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] błędy otwarcia plików
bugibugi
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


Witam.
Mam problem, napisałem na potrzeby klasy kalendarzyk do ktorego można dodawać terminy sprawdzianów itp. Problem polega na tym, że poprawnie kalendarz działa tylko na serwerze (apaczu) na moim komputerze. Gdy umieszczam go i włączam na jakimś serwerze, a próbowałem już na kilku, występują błędy. A ponieważ akurat wystęują w pętli to strona sie zawiesza. Kalendarzyk operuje na plikach .txt które są w katalogu kal, a w nazwie mają dzień miesiąca (np. 1.txt). Oto kod programu:
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. *.td {width: 100px; background-color: #006699; color: #FFA34F}
  5. td {font-size: 12}
  6. </style>
  7. </head>
  8. <body>
  9. <table valign="top" align="center" style="text-align: center; background-color: #EFEFEF; border: 1px solid #C7D0D7"><tr><td width="200px">
  10. <center><b style="font-size: 20px; color: #006699">kalendarz</b><br>
  11. pk-praca klasowa<br>
  12. sp-sprawdzian<br>
  13. k-kartkowka<br>
  14. p-pytanie<br>
  15. zd-zadanie domowe<br>
  16. po-poprawa<br>
  17. i-inne</center>
  18. </td><td>
  19. <?
  20. if(isset($_REQUEST['dzien']))
  21. {
  22. $data = $_REQUEST['dzien'];
  23. $rodzaj = $_REQUEST['rodzaj'];
  24. $temat = $_REQUEST['link'];
  25. $opis = $_REQUEST['opis'];
  26. settype($data, 'string');
  27. $ciagwyjsciowy = "$rodzaj"."xxxx"."$opis"."xxxx"."$temat"."n";
  28. $ciag = "kal$data.txt";
  29. $wp = fopen("$ciag", 'ab');
  30. fwrite($wp, $ciagwyjsciowy);
  31. fclose($wp);
  32. }
  33. ?>
  34. <center><b style="text-align: center; color: #006699">LUTY</b></center>
  35. <table style="border: 1px solid #C7D0D7; empty-cells: show" cellspacing="0">
  36. <tr><td align="center" class="td"><b>PON</b></td><td align="center" class="td"><b>WT</b></td><td align="center" class="td"><b>SR</b></td><td align="center" class="td"><b>CZW</b></td><td align="center" class="td"><b>PT</b></td></tr>
  37. <?
  38. $pierwszydzien = 4;
  39. for($x = 1; $x < 6; $x++)
  40. {
  41. echo('<tr>');
  42. for($y = 1; $y < 6; $y++)
  43. {
  44. echo('<td style="width: 100px; border: 1px solid #C7D0D7">');
  45. if($x==1 AND $y==$pierwszydzien)
  46. $z=1;
  47. if(isset($z) AND $z<29)
  48. {
  49. echo('<b>');
  50. echo("$z");
  51. echo(' | </b>');
  52. settype($z, 'string');
  53. $wp = fopen("kal$z.txt", 'r');
  54. while(!feof($wp))
  55. {
  56. $v = fgets($wp, 999);
  57. $tablica = explode('xxxx', $v);
  58. if($tablica[0] == "praca_klasowa") $tablica[0] = "pk";
  59. if($tablica[0] == "sprawdzian") $tablica[0] = "sp";
  60. if($tablica[0] == "kartkówka") $tablica[0] = "k";
  61. if($tablica[0] == "pytanie") $tablica[0] = "pt";
  62. if($tablica[0] == "zad dom") $tablica[0] = "zd";
  63. if($tablica[0] == "poprawa") $tablica[0] = "po";
  64. if($tablica[0] == "inne") $tablica[0] = "i";
  65. echo('<a target="_top" href='."$tablica[2]".'" title='."$tablica[1]".' style="color: #006699">'."$tablica[0]".'</a>');
  66. echo(' ');
  67.  
  68. }
  69. fclose($wp);
  70. settype($z, 'integer');
  71. $z++;
  72. }
  73. echo('</td>');
  74. }
  75. echo('</tr>');
  76. $z+=2;
  77. }
  78. ?>
  79. </table>
  80. </td></tr><tr><td colspan="2" style="text-align: center">
  81. <a style="text-align: center; color: #006699; font-weight: 700" href="dodaj.php">dodaj</a>
  82. </td></tr>
  83. </table>
  84.  
  85. </body>
  86. </html>


Tu jest ten kalendarz na serwerze http://www.bugi.webd.pl/kalendarz/
tylko uwaga, bo się wykonuje w nieskończoność!

Błędy to:
Cytat
Warning: fopen(kal\1.txt) [function.fopen]: failed to open stream: No such file or directory in /home/bugi/public_html/kalendarz/index.php on line 53

Warning: feof(): supplied argument is not a valid stream resource in /home/bugi/public_html/kalendarz/index.php on line 54

Warning: fgets(): supplied argument is not a valid stream resource in /home/bugi/public_html/kalendarz/index.php on line 56


Tylko, że te błędy są bez sensu bo to wszystko na moim komputerze na apaczu działa jak powinno...
Będę wdzięczny za pomoc w ustaleniu co jest nie tak, że na na zwykłych serwerach skrypt nie działa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




1. Plik kal/1.txt nie istnieje. Spróbuj zamienić \ na /
2. Sprawdź chmody.
Go to the top of the page
+Quote Post
maryaan
post
Post #3





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

Ostrzeżenie: (0%)
-----


ukosnik w sciezce masz w zla strone
Cytat(bugibugi @ 2.02.2007, 16:36:18 ) *
tylko uwaga, bo się wykonuje w nieskończoność!
skoro o tym wiesz to sie przed tym zabezpiecz winksmiley.jpg


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
bugibugi
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


Wielkie dzięki biggrin.gif
taki mały błąd a tyle narobił...
Go to the top of the page
+Quote Post
k0b3
post
Post #5





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Nie chce zakładac nowego tematu, wiec pisze tu, a mam identyczny problem...

wyswietla ten sam blad w 9 lini

  1. <?php
  2.  
  3. echo ('<p style="color:#006600; font-size:12px;" class="center"><strong>Wiadomosci z kraju</strong></p>');
  4. $site = "http://rss.gazeta.pl/pub/rss/gazetawyborcza_kraj.xml";
  5.  
  6. $fp = @fopen($site, "r");
  7.  
  8. while(!feof($fp)) $raw .= @fgets($fp, 196);
  9. fclose($fp);
  10.  
  11.  
  12. if( eregi("<item>(.*)</item>", $raw, $rawitems ) ) {
  13.  $items = explode("<item>", $rawitems[0]);
  14.  
  15. $max = count($items) - 1;
  16. if ($max > 5){
  17. $max = 5;
  18. }
  19. for( $i = 0; $i < $max; $i++ ) {
  20. eregi("<title>(.*)</title>",$items[$i+1], $title );
  21. eregi("<link>(.*)</link>",$items[$i+1], $link );
  22. eregi("<categorie>(.*)</categorie>",$items[$i+1], $cat);
  23. echo ('<table width="90%" border="0" cellspacing="0" cellpadding="0">');
  24.  echo ('<tr>
  25. <td width="18%" valign="top"><img src="data_pl/img/right.gif" width="14" height="12" align="bottom" /></td>
  26. <td width="82%" align="left" valign="top">');
  27. echo "<a href='".$link[1]."' class="white" style="font-weight:normal;" target='_blank'>".substr($title[1], 0, 16)."...</a><br> ".$cat[1];
  28. echo ('</td></tr>');
  29.  
  30.  
  31. echo ('</table>');
  32. }
  33. }
  34.  
  35.  
  36.  
  37. echo ('<p style="color:#006600; font-size:12px;" class="center"><strong>Wiadomosci ze swiata</strong></p>');
  38.  
  39. $site2 = "http://rss.gazeta.pl/pub/rss/gazetawyborcza_swiat.xml";
  40.  
  41. $fp2 = @fopen($site2, "r");
  42.  
  43. while(!feof($fp2)) $raw2 .= @fgets($fp2, 196);
  44. fclose($fp2);
  45.  
  46.  
  47. if( eregi("<item>(.*)</item>", $raw2, $rawitems ) ) {
  48.  $items = explode("<item>", $rawitems[0]);
  49.  
  50. $max = count($items) - 1;
  51. if ($max > 5){
  52. $max = 5;
  53. }
  54. for( $i = 0; $i < $max; $i++ ) {
  55. eregi("<title>(.*)</title>",$items[$i+1], $title );
  56. eregi("<link>(.*)</link>",$items[$i+1], $link );
  57. eregi("<categorie>(.*)</categorie>",$items[$i+1], $cat);
  58. echo ('<table width="90%" border="0" cellspacing="0" cellpadding="0">');
  59.  
  60.  echo ('<tr>
  61. <td width="18%" valign="top"><img src="data_pl/img/right.gif" width="14" height="12" align="bottom" /></td>
  62. <td width="82%" align="left" valign="top">');
  63. echo "<a href='".$link[1]."' class="white" style="font-weight:normal;" target='_blank'>".substr($title[1], 0, 16)."...</a><br> ".$cat[1];
  64. echo ('</td></tr>');
  65.  
  66.  
  67. echo ('</table>');
  68. }
  69. }
  70.  
  71.  
  72. ?>


w adresie slash jest w poprawna strone ustawiony oraz chmody (tylko nie wiem czy trzeba) na 777

Pilne.. pomozce..!



juz wiem w czym jest problem, na serwerze nie ma włączonej funkcji allow_url_fopen


fopej() - mozna czyms zastapic??
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:06