Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] błędy otwarcia plików
Forum PHP.pl > Forum > Przedszkole
bugibugi
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.
Ociu
1. Plik kal/1.txt nie istnieje. Spróbuj zamienić \ na /
2. Sprawdź chmody.
maryaan
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
bugibugi
Wielkie dzięki biggrin.gif
taki mały błąd a tyle narobił...
k0b3
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??
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.