Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie pliku
Forum PHP.pl > Forum > Przedszkole
ido
chyba nie zrozumiem nigdy tych formularzy....

skrypt ma tworzyc nowy plik .txt w katalogu, powinien miec uprawnienia 777

stworzylem cos takiego, ale niestety nic sie nie wyswietla i do tego nie wiem ja zrobic przycisk submit :/

  1. <?
  2. if($_POST['nazwa']){
  3.  
  4. print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
  5. <p><input type="submit" size="15" value="nazwa" name="nazwa"></p>
  6. </form>';
  7. }else{
  8. $ext = '.txt';
  9. $pk = fopen( '_forum/wasze' . 'nazwa' . '$ext' , 'w+');
  10. }
  11. ?>
Wieviór
  1. <?
  2. if(isset ($_POST['nazwa']))
  3. {
  4. print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
  5. <p><input type="text" size="15" name="nazwa"></p>
  6. <p><input type="submit" size="15" value="Submit" name="submit"></p>
  7. </form>';
  8. } else {
  9. $ext = '.txt';
  10. $pk = fopen( '_forum/wasze' . '.$_POST['nazwa'].' . '$ext' , 'w+');
  11. }
  12. ?>


Spróbuj tak winksmiley.jpg
ido
błąd:

Parse error: parse error, unexpected T_STRING in /home/users/.../a_temat_1.php on line 159

w tej linijcce:

  1. <?php
  2. $pk = fopen( '_forum/wasze' . '.$_POST['nazwa'].' . '$ext' , 'w+' );
  3. ?>



chlip sad.gif
ghostrider
  1. <?php
  2. $pk = fopen( '_forum/wasze' . ".$_POST['nazwa']." . '$ext' , 'w+' );
  3.  
  4. ?>
ido
tym razem :/


Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users/.../a_temat_1.php on line 159
ghostrider
  1. <?php
  2. $pk = fopen( '_forum/wasze' . $_POST['nazwa'] . '$ext' , 'w+' );
  3. ?>


tak na szybko, tam jeszcze może slasha brakować (po wasze)
strife
  1. <?php
  2.  
  3. if( isset ( $_POST['nazwa'] ) )
  4. {
  5.     print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
  6.            <p><input type="text" size="15" name="nazwa"></p>
  7.            <p><input type="submit" size="15" value="Submit" name="submit"></p>
  8.            </form>';    
  9. } else {  
  10.  
  11.         $ext = '.txt';    
  12.         $pk = fopen( '_forum/wasze/' . $_POST['nazwa'] . $ext , 'w+');   
  13.  
  14. }
  15.  
  16. ?>


@ghostrider - Twój poprawiony kod zamiast dopisać rozszerzenie pliku, wyświetli $ext, chciałeś zapewne użyć " zamiast pojedyńczych, ale w tym konkretnym przykładzie jest to zbędne.
ido
dzieki Wam, jeszcze tylko jeden problem ze to sie nie wyswietla na stronie ?!

to chyba przez if? no bo to poprostu ma sie wyswietlac...
ghostrider
  1. <?php
  2. ...
  3. while (!eof($pk)){
  4.  $cont .= fread($pk, 1024);
  5. }
  6.  
  7. print $cont;
  8.  
  9. ?>


wyslalo mi sie przez przypadek,

@scareface: tak
strife
Zamień tą linijkę na
  1. <?php
  2.  
  3. if( ! isset ( $_POST['nazwa'] ) )
  4.  
  5. ?>

! jest znakiem negacji, czyli warunek będzie wyglądał tak, że jeżeli zmienna superglobalna $_POST['nazwa'] nie będzie istniała to wyświetli się to co w warunku. W przeciwnym przypadku, czyli jeśli będzie istniała zostanie wykonana częśc kodu po else.

Pozdrawiam!
mk83
Mam jeszcze jedno pytanie odnosnie tablic. Chodzi mi o to jak zwrocic klucz podanego elementu np.

$tab[0]=1;
$tab[1]=2;
$tab[2]=3;

Chce poznac jaki jest klucz odpowiadajacy elementowi 2 w tablicy. Szukalem w manualu ale znalazlem tylko funkcje ktore zwracaja klucz tylko bierzacej wartosci , a mi chodzi o funkcje ktora by mi podala klucz wybranej przezemnie wrtosci.
ghostrider
to z manulala:
  1. <?php
  2. while ($nazwa_owocu = current($tablica)) {
  3.  if ($nazwa_owocu == 'jabłko') {
  4.  echo key($tablica).'<br />';
  5.  }
  6.  next($tablica);
  7. }
  8. ?>


musisz uzywac loopów
ido
a dlaczego w textarea wypisuje mi sie fpassthru($file); zamiast tego pliku?!


  1. <?php
  2.  
  3. if( ! isset ( $_POST['nazwa'] ) )
  4. {
  5. print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
  6.  
  7.  <p align="justify" style="margin-left:20px; margin-right:20px">
  8.  <input type="text" size="15" name="nazwa" value="nazwa_pliku"><br>
  9.  
  10.  
  11. <?php
  12.  
  13.  
  14. $file = "fs.txt";
  15. $fopen = fopen($file, "r");
  16. $fread = fread($fopen, filesize($file));
  17.  
  18. ?>
  19.  
  20. <textarea name="text" rows="10" cols="30">
  21.  
  22.  
  23.  
  24.  
  25. <? fpassthru($file); ?>
  26.  
  27.  
  28.  
  29.  
  30. </textarea>
  31.  
  32. <?php fclose($file); ?>
  33.  
  34. <br><br>
  35.  
  36.  
  37.  
  38.  <input type="submit" size="15" value="Utwórz" name="submit"></p>
  39.  </form>';
  40. } else {
  41.  
  42. $ext = ".php";
  43. $pk = fopen( '_forum/fs_' . $_POST['nazwa'] . $ext , 'w+');  
  44. fputs($pk,"$text");
  45. Header( "Location: a_temat_3.php" );
  46.  
  47. }
  48.  
  49.  
  50. ?>
strife
Pozwole sobie troche przebudowac Twoj kod, który nie był pozbawiony błędów. Zobacz teraz czy działa.
  1. <?php
  2. if( ! isset ( $_POST['nazwa'] ) )
  3. { 
  4. print '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '"> 
  5.  <p align="justify" style="margin-left:20px; margin-right:20px"> 
  6.  <input type="text" size="15" name="nazwa" value="nazwa_pliku"><br />';
  7.  
  8. $file  = 'fs.txt';
  9. $fopen = fopen( $file, "r" );
  10. $fread = fread( $fopen, filesize( $file ) );
  11.  
  12. echo '<textarea name="text" rows="10" cols="30">' . fpassthru($file) . '</textarea>';
  13.  
  14. fclose($file); 
  15. echo '<br /><br />';
  16.  
  17. echo '<input type="submit" size="15" value="Utwórz" name="submit"></p>
  18. </form>';
  19.  
  20. } else {
  21.  
  22.  $ext = '.php';
  23.  $pk = fopen( '_forum/fs_' . $_POST['nazwa'] . $ext , 'w+');  
  24.  
  25.  fputs( $pk, $text );
  26.  header( "Location: a_temat_3.php" );
  27.  
  28. }
  29.  
  30. ?>
ido
niestety nic sie nie pojawia w textarea :/
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.