Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klopot ze zmiennymi a konkretnie ze scieżką
Matiash
post 18.06.2007, 14:11:41
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


Witam, no wiec mam plik "upload.php". Plik ten tzn "upload.php" tworzy folder oraz plik "opis.txt" w ktorym sa umieszczane dane uzytkonika. Oprocz tego plik"upload.php" zawiera skrypt uploadu zdjec. Po zauplodowaniu kazde zdjecie sie wyswietla i obok kazdego zdjecia pojawia sie input gdzie uzytkownik ma mozliwosc dopisania tytulów zdjec. Kiedy uzytkownik wpisze tytuly zdjec i kliknie "dalej" to odnosze go do pliku "up.php" ktory pobiera tytuly zdjec i je wyswietla. Moj problem polega na tym ze chcialbym te tytuly dopisac do tego pliku "opis.txt" ktory juz zostal utworzony w pliku "upload.php"

Plik "upload.php"
  1. <?php
  2. $currentdir=getcwd();
  3.  
  4. $currentdir= "./pliki/".date('dmyHis')."/";
  5. mkdir($currentdir ,0777);//tworzymy katalog
  6. $plik=fopen($currentdir."opis.txt","w+");
  7. fputs($plik,"Imię i nazwisko:".chr(10).$_POST['imie'].chr(10).chr(10)."Adres email:".chr(10).$_POST['email'].chr(10).chr(10)."Kategoria:".chr(10).$_POST['kategoria'].chr(10).chr(10)."Tytuł:".chr(10).$_POST['tytul'].chr(10).chr(10)."Treść wiadomości:".chr(10).$_POST['tresc'].chr(10).chr(10)."Dodano: ".chr(10).date("d F Y, H:i"));
  8. fclose($plik); 
  9. echo "Dziękujemy za przesłanie relacji. Do 24 h powinna ukazać się na stronie.<br /><br />";
  10.  
  11. //tutaj znajduje sie skrypt uploadu... Znacznie by wydłużył kod wiec go nie wkleja
    łem w całości
  12. echo'<form action="up.php" method="post">';
  13. echo '<td width="327"><textarea cols=30 rows=5 name=tytul[]></textarea></td>';
  14. echo'<input type="submit" name="wgraj" value="Wyślij" />';
  15. echo'</form>';
  16. ?>


Plik "up.php"
  1. <?php
  2. foreach ($_POST as $klucz => $tablica ) {
  3. echo '<br>';
  4. foreach ($tablica as $nr_wiersza => $warotsc )
  5.  echo 'nr wiersza: '.$nr_wiersza.' wartosc :'.$warotsc.'<br>';
  6. //otwieramy plik
  7. $nazwapliku = $currentdir."opis.txt";
  8. $trochetresci = $warotsc;
  9.  
  10. // Najpierw przekonaj się czy plik istnieje i jest zapisywalny.
  11. if (is_writable($nazwapliku)) {
  12.  
  13.  
  14. if (!$uchwyt = fopen($nazwapliku, 'a')) {
  15.  echo "Nie mogę otworzyć pliku ($nazwapliku)";
  16.  exit;
  17.  }
  18.  
  19. // Zapis $trochetresci do naszego otwartego pliku.
  20. if (fwrite($uchwyt, $trochetresci) === FALSE) {
  21.  echo "Nie mogę zapisać do pliku ($nazwapliku)";
  22.  exit;
  23.  }
  24.  
  25. echo "Sukces, zapisano ($trochetresci) do pliku ($nazwapliku)";
  26.  
  27. fclose($uchwyt);
  28.  
  29. } else {
  30. echo "Plik $nazwapliku nie jest zapisywalny";
  31. }
  32. //zamykamy plik
  33.  }
  34.  
  35. ?>


Wszystko mozna by rzec ze dziala dobrze jednak nie dopisuje mi tych tytułów zdjęć do tego pliku "opis.txt"

Podejrzewam ze blad jest w sciezkach do pliku opis.txt. Tzn ze w pliku "upload.php" mam skonkretyzowane co to jest za zeminnna $currentdir a w plik up.php nie mam.
Mam nadzieje ze dobrze to opisalem


Tzn chodzi o to jak pobrac ta zmienna $currentdir z pliku upload.php do up.php, zeby miala te sama wartosc ?

Ten post edytował Matiash 18.06.2007, 14:15:59


--------------------
www.picture-globe.com
Go to the top of the page
+Quote Post
pbnan
post 18.06.2007, 16:18:47
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 27.03.2007
Skąd: Osiek almost City ;-D

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


Dodaj w pliku upload.php w formularzu jedno pole hidden, którego wartością będzie $currentdir.
Następnie będziesz mógł w up.php dojść do tej wartości poprzez $_REQUEST['nazwa_pola'] winksmiley.jpg


--------------------
"Hmmm, na wakacje trzeba będzie zacząć zarabiać, co nie? ;-] GTA IV się coraz bardziej zbliża... ;-]"
To się nazywa częsty update sygnaturki.
;-)
Go to the top of the page
+Quote Post
Matiash
post 18.06.2007, 22:55:27
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


ok dzieki, działa, mam jeszcze jeden problem, wyskakuje mi blad w up.php :
nr wiersza: 0 wartosc :sadfasdfasdf
Sukces, zapisano (sadfasdfasdf) do pliku (./pliki/180607231611/opis.txt)

Warning: Invalid argument supplied for foreach() in /home.11/t/r/e/trekeart/www/up.php on line 4
Sukces, zapisano (sadfasdfasdf) do pliku (./pliki/180607231611/opis.txt)

Warning: Invalid argument supplied for foreach() in /home.11/t/r/e/trekeart/www/up.php on line 4
Sukces, zapisano (sadfasdfasdf) do pliku (./pliki/180607231611/opis.txt)

  1. <?php
  2. foreach ($_POST as $klucz => $tablica ) {
  3. echo '<br>';
  4. foreach ($tablica as $nr_wiersza => $warotsc )
  5.  echo 'nr wiersza: '.$nr_wiersza.' wartosc :'.$warotsc.'<br>';
  6.  
  7. //otwieramy plik
  8. $nazwapliku = $_REQUEST['sciezka']."opis.txt";
  9. $trochetresci = $warotsc;
  10.  
  11. // Najpierw przekonaj się czy plik istnieje i jest zapisywalny.
  12. if (is_writable($nazwapliku)) {
  13.  
  14.  
  15. if (!$uchwyt = fopen($nazwapliku, 'a')) {
  16.  echo "Nie mogę otworzyć pliku ($nazwapliku)";
  17.  exit;
  18.  }
  19.  
  20. // Zapis $trochetresci do naszego otwartego pliku.
  21. if (fwrite($uchwyt, $trochetresci) === FALSE) {
  22.  echo "Nie mogę zapisać do pliku ($nazwapliku)";
  23.  exit;
  24.  }
  25.  
  26. echo "Sukces, zapisano ($trochetresci) do pliku ($nazwapliku)";
  27.  
  28. fclose($uchwyt);
  29.  
  30. } else {
  31. echo "Plik $nazwapliku nie jest zapisywalny";
  32. }
  33. //zamykamy plik
  34.  }
  35.  
  36. ?>


Ale ogolnie dziala winksmiley.jpg


problem dodatkowo polega na tym ze jak wpisze, np. trzy tytuly zdjec, to dodaje te 3 tytuly do pliku opis.txt ale kazdy z tych tytulow ma nazwe taka sama jak nazwa ostatniego tytulu


--------------------
www.picture-globe.com
Go to the top of the page
+Quote Post
pbnan
post 19.06.2007, 16:31:29
Post #4





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 27.03.2007
Skąd: Osiek almost City ;-D

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


Cytat
Warning: Invalid argument supplied for foreach() in /home.11/t/r/e/trekeart/www/up.php on line 4

Masz błąd - przekazujesz do foreach STRING, a nie tablicę. Ponieważ każda wartość w $_POST jest strigniem, a Ty chcesz przez ten string iterować. Popraw na takie, jak ma być.

Swoją drogą - nie pomogę Ci do reszty problemów, bo dzisiaj w ogóle nie myślę. smile.gif


--------------------
"Hmmm, na wakacje trzeba będzie zacząć zarabiać, co nie? ;-] GTA IV się coraz bardziej zbliża... ;-]"
To się nazywa częsty update sygnaturki.
;-)
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:38