![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chciałbym wykonać pewien skrypt tylko nie wiem w jaki sposób mogę go zrobić i dlatego prosiłbym was o pomoc. Szukałem na różnych stronach niby coś tam znajdowałem, ale zawsze gdy robiłem, to źle działał. Chodzi o to, że ten skrypt miałby za zadanie dodawać, usuwać, edytować oraz zmieniać pozycję zawartości pliku np. cos-tam.txt. A dokładniej to na przykładzie. Plik cos-tam.txt Kod index.php | Strona glowna forum.php | Forum blog.php | mBlog oferta.php | Oferta portfolio.php | Portfolio kontakt.php | Kontakt A na stronie głównej otwierane było by jako: Kod <ul> <li><a href="index.php">Strona glowna</a></li> <li><a href="forum.php">Forum</a></li> <li><a href="blog.php"> mBlog</a></li> <li><a href="oferta.php">Oferta</a></li> <li><a href="portfolio.php">Portfolio</a></li> <li><a href="kontakt.php">Kontakt</a></li> </ul> I nie wiem właśnie co trzeba było by wpisać na stronie głównej aby tak było wczytywane. A druga sprawa, chodzi o panel za pomocą którego można było by dodawać, usuwać, edytować oraz zmieniać pozycję czyli w górę lub w dół. I ten panel najlepiej jak by był tylko w jednym pliku. Bardzo proszę o pomoc w wykonaniu tego panelu. -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Odpuść sobie zapisywanie tego w pliku txt, zastosuj albo bazę danych mysql/sqlite , albo zapisuj to jako tablicę (var_export).
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
a więc zaczynamy od zera?
krok 1, materiał: http://php.net/manual/en/ref.filesystem.php spróbuj zrobić najpierw panel. jutro daj kod który zmajstrowałeś i będziemy poprawiać błędy/działać dalej -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Znaczy się na początek chciałem na pliku .txt, a potem na bazie.
Ok poczytam, może coś się uda. No dobra przesiedziałem pół dnia, no i pokombinowałem co nie co. Już wiem jak wykonać tylko mam pewien problem, oczywiście cały czas mówimy o panelu, nie o wyświetlaniu. A więc chodzi tutaj o kod do edycji podam tutaj tylko, że bez formularza. Kod <? $ide="0"; $file=file("cos-tam.txt"); $dane=explode("|", $file[$ide]); $link=$dane[0]; $name=$dane[1]; $plik = fopen("cos-tam.txt","r"); $plik1 = fread($plik,10240); $text="$plik1"; $ad1="$link"; $ad2="strona główna"; $be1="$name"; $be2="index2.php"; $text = str_replace('$ad1','$ad2;',$text); $text = str_replace('$be1','$be2;',$text); echo $text; fwrite($plik,$text); fclose($plik); ?> W czym problem? Chodzi o to, że nie podmienia mi $ad1 na $ad2 i $be1 na $be2 oraz nie zapisuje tego do pliku. I jak mam to zrobić aby działało? Co w tym kodzie jest nie tak? A jeśli chodzi o to "echo $text", dopisałem po to aby zobaczyć czy się podmienia. Szukałem innego sposobu na podmianę, ale nie znalazłem. Ten post edytował ZeTu 12.08.2011, 17:24:09 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale od kiedy zmienne się zapisuje w cudzysłowiach? Nie zamienia się nic, bo zmienne w funkcji sa zapisane w cudzysłowiach, zamiast:
zrób: jeśli chcesz by Ci zamieniało stringi jednej zmiennej na stringi w drugiej. Tak samo przypisywanie wartości jednej zmiennej do drugiej, takie coś:
powinieneś zamienić na:
Ja rozumiem, że to forum Przedszkole, no ale żeby takie gafy popełniać? Ten post edytował adbacz 12.08.2011, 18:27:32 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Aha, dobrze wiedzieć, już sprawdzam czy będzie mi działać, z góry dzięki.
No i niby działa, ale nie zapisuje zmian do pliku. Ten post edytował ZeTu 12.08.2011, 19:13:55 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
A czy czasem pliku nie otwiera się do zapisu stosując inny tryb otwarcia pliku aby go zapisać. Z tego co wiem to "r" stosuje się do odczytu. Żeby otworzyć plik do zapisu potrzeba użyć "w".
Czyli coś takie powinno zadziałać: |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
A teraz zamiast zapisywać to wyczyszcza zawartość pliku cos-tam.txt i jest pusty
-------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
A teraz zamiast zapisywać to wyczyszcza zawartość pliku cos-tam.txt i jest pusty lektura niezdana ![]() fopen -> mode -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
No fajnie czytałem to i próbowałem różnymi metodami, ale nic nie poskutkowało.
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
może chmody nie pozwalają na zapis ?
poza tym, nie lepiej skorzystać z file_put_contents('plik.txt', 'nowa_zawartosc_pliku'); ? -------------------- :)
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 8 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem to tak
No i niby wszystko gra, ale jest jeszcze jeden problem. Po zapisie w pliku cos-tam.txt (chmod ustawiłem na 777) z 2 pierwszych linijek zrobiła się jedna i wygląda to tak Kod index2.php | Strona g?ówna forum.php | Forum blog.php | mBlog oferta.php | Oferta portfolio.php | Portfolio kontakt.php | Kontakt A co mam zrobi, aby to było tak jak napisałem na początku tematu? Ok naprawiłem problem. Udało mi się zrobić panel, tylko mam jeden problem, nie wiem jak zamienić linie np. 1 z 2, że 1 to będzie 2, a 2 to 1, czyli tzw. zmiana pozycji. Próbowałem Kod <?php ... $text = str_replace("$ad1", "$ad2", $text); $text = str_replace("$be1", "$be2", $text); $text = str_replace("$ad2", "$ad1", $text); $text = str_replace("$be2", "$be1", $text); file_put_contents($folder, utf8_encode($text)); ... ?> Ale zamiast zapisywać zmian czyści cały plik. Ten post edytował ZeTu 1.09.2011, 13:29:11 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:00 |