Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]EDYTOR PLIKOW TXT
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam takie male pytanie skoro na opcjach plikowych zabardzo sie nie znam chce napisac taki maly edytor jednak mam problem a wiec robie petle while ktore wczytuje wszystkie pliki i przy kazdym pliku robie link "edytuj" chodzi o to ze jak skrypt ma wiedziec o jaki plik chodzi??
  1. <?php
  2. $katalog = '/var/www/kat/';
  3. $kat = opendir($katalog);
  4. while($plik = readdir($kat)) {
  5. echo('<li>'.$plik.'</li><a href="?action=edytuj">edytuj</a>');
  6. }
  7. closedir($kat);
  8. ?>

Mniej wiecej o cos takiego potem robie switch dla action=edytuj jednak wiem jak wczytac zawartosc pliku to textarea lecz czy robvia tak jak mowie skrypt wie o jaki plik chodzi.Pytam bo robiac to na bazie jest id posta i wtedy daje sie go w get i nie problemu jak tu to rozwiazac??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


EDIT:Nowy kod == nowe problemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ogolnie to mi opornie idzie z tymi plikami wiec prosze o pomoc po pierwsze wiem ze napewno daje zly uchwyt pliku do fopen,fwrite etc... poniewaz widac bledy ale sam juz nie wiem co mam dac mam nadzieje ze ktos pomoze bo pliki to nie moja mocna strona w php

P.S do tego nie wiem czemu nie moge wykonwac funckji chmod z tego co widze po innych bledach w kodzie to chodzi o to ze przekazuje do wszystkich argumentow tylko katalog tak jakby zmienna $plik by byla pusta ale dlaczego daje global $plik; a zmnienna przeciez ma przypisana wartosc??
  1. <?php
  2. echo('<html>
  3. <head><meta http-equiv="content-type" charset="utf-8" /></head>
  4. <title>EdYtOr bY MARCIO</title>
  5. <body>
  6. <center><h1>EDYTOR PLIKOW TXT.</h1></center>
  7. ');
  8.  
  9. $action = $_GET['action'];
  10. switch($action) {
  11.  
  12. case 'edit':
  13.  
  14. global $plik;
  15.  
  16. if(is_readable($plik)) {
  17.  
  18. $wp = fopen("/var/www/kat/".$plik, 'r');
  19.  
  20. while(!feof($wp)) 
  21. $zawartosc = fgets($wp, 1024);
  22. fclose($wp);
  23. echo('<html>
  24. <head><meta http-equiv="content-type" charset="utf-8" /></head>
  25. <title>EdYtOr bY MARCIO</title>
  26. <body>
  27. <form method="post" action="?action=edit&file='.$_GET['plik'].'">
  28. <table align="center">
  29. <tr><td>
  30. <textarea name="message" rows="10" cols="70" style="background-color:#000000; color:#CCCCCC";>'.$zawartosc.'</textarea></td></tr>
  31. <tr>
  32. <td align="center" valign="top"><input type="submit" value="Aktualizuj" /></td></tr>
  33. </table>
  34. </form>
  35. ');
  36. }
  37.  
  38. if(!empty($_POST['message']) && is_writable($plik)) {
  39.  
  40.  $fp = fopen("/home/marcio/kat/".$plik, 'w');
  41. fwrite($fp, $_POST['message']);
  42.  fclose($fp);
  43.  echo('<script>alert("Dodano");</script>');
  44. }
  45. else {
  46.  
  47. if(chmod("/var/www/kat/".$plik, 0777)) {
  48.  $fp = fopen("/var/www/kat/".$plik, 'w');
  49. fwrite($fp, $_POST['message']);
  50.  fclose($fp);
  51. echo('<script>alert("Dodano");</script>');
  52.  }
  53. }
  54. break;
  55.  
  56. case 'delete':
  57.  
  58. if(is_writable($plik)) {
  59.  if(unlink("/var/www/kat/".$plik)) 
  60. echo('<script>alert("Usunieto plik!!");</script>');
  61. }
  62. else if(is_writable($plik) && chmod("/home/marcio/kat/".$plik, 0777)) {
  63.  if(unlink("/var/www/kat/".$plik)) 
  64. echo('<script>alert("Usunieto plik!!");</script>');
  65. }
  66. break;
  67. }
  68.  
  69. $katalog = '/var/www/kat/';
  70. $kat = opendir($katalog);
  71.  
  72. while($plik = readdir($kat)) {
  73.  
  74. $file = $_GET['file'];
  75. $plik = basename($katalog.$plik);
  76. echo('<li>'.$plik.'|<a href="?action=edit&file='.$plik.'">edytuj</a>|<a href="?action=delete&file='.$plik.'">usun</a></li>
  77. <table>
  78. <tr><td>
  79. Rozmiar: '.@filesize($plik).'B<Br>
  80. Typ pliku: '.@filetype($plik).'<Br>
  81. Chmod: '.decoct(@fileperms($plik)).'<Br>
  82. Do odczytu: '.(@is_readable($plik)'tak' : 'nie').'<Br>
  83. Do zapisu: '.(@is_writable($plik)'tak' : 'nie').'<Br>
  84. </td></tr>
  85. </table>
  86. ');
  87. }
  88. closedir($kat);
  89. echo('</body></html>');
  90. ?>

Po pierwsze nie ma zawartosci pliku w textarea po drugie sa takie bledy przy dodawaniu:
Cytat
Warning: fopen(/var/www/kat/) [function.fopen]: failed to open stream: Is a directory in /var/www/edytor.php on line 33

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/edytor.php on line 34

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/edytor.php on line 35
Warning: chmod() [function.chmod]: Operation not permitted in /var/www/edytor.php on line 47

Znowu cos zle z uchwytami i ze argument w fopen jest katalogiem czy cos i nie wiem jak zawsze co jest zle pytam bo na plikach sie tak dobrze nie znam

P.S tylko nie krzyczcie po mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

To jak??Dalem nawet chmod 77 na katalog i dalej nic

Ten post edytował marcio 22.01.2008, 15:20:09
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 19:00