Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]incudowanie pliku z innego miejsca o takiej samej nazwie
Forum PHP.pl > Forum > Przedszkole
1slimak
mam taki problem i pytanie czy to jest rozwiązywalne, opiszę o co mi chodzi:

plik nazywa się powiedzmy costam.php

w innym katalogu znajdują się się różne pliki i między innymi plik o takiej samej nazwie powiedzmy w katalogu proba plik costam.php

chciałbym żeby plik podstawowy sprawdził jak się sam nazywa a następnie sprawdził czy w katalogu proba znajduje się plik o takiej samej nazwie i zaincludował go, jeżeli nie ma takiego pliku to zostaje bez zmian

można liczyć na pomoc??

chodziło by mi o gotowy skrypt, bo na temat php wiem bardzo mało php.gif
Mackos
PHP to nie całki po okręgu tylko prosty język - warto się tego poduczyć wink.gif

Coś takiego powinno być pomocne
  1. $stronka1=htmlspecialchars($_SERVER['REQUEST_URI']);
  2. $stronka=end(explode("/", $stronka1));
  3. if(file_exist("sciezka/$stronka")){
  4. echo "Twoj plik istnieje";}
  5. else
  6. {
  7. echo "Twój plik nie istnieje";
  8. }
1slimak
łatwo Ci powiedzieć, że nie całki, dla mnie to żadna różnica ;[[

ale wracając do sedna, wpisałem coś takiego

  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. $stronka1=htmlspecialchars($_SERVER['REQUEST_URI']);
  4. $stronka=end(explode("proba/", $stronka1));
  5. if(file_exist("proba/$stronka")){
  6. echo "Twoj plik istnieje";}
  7. else
  8. {
  9. echo "Twój plik nie istnieje";
  10. }
  11. ?>


o dziwo nie wywalił mi żadnego błędu (czysty ekran) ale też nie wyświetlił żadnego komunikatu ani też , bo chyba nie mógł nie includował pliku o takiej samej nazwie ;[[

to co tu taj jest nie tak??

a i jeszcze jedno czy w wypadku gdy nie ma pliku o tej samej nazwie może includować inny plik powiedzmy awaria.php z tego pliku co przeszukiwałquestionmark.gif?
gorden
bo nie ma takiej funkcji file_exist
file_exists
Mackos
Aj fakt, ale wybaczcie pisałem z palca, ot zabrakło jednego 's'
smile.gif
1slimak
po wpisaniu poprawki skrypt wygląda następująco

  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. $stronka1=htmlspecialchars($_SERVER['REQUEST_URI']);
  4. $stronka=end(explode("/", $stronka1));
  5. if(file_exists("proba/$stronka")){
  6. echo "Twoj plik istnieje";}
  7. else
  8. {
  9. echo "Twój plik nie istnieje";
  10. }
  11. ?>


natomiast na ekranie jest coś takiego

Cytat
Strict Standards: Only variables should be passed by reference in /homez.323/............./20110406max.php on line 6
Twoj plik istnieje


dlaczego aż tyle?? -linia 6 o której wspomina "ekran" to linia $stronka=end(explode("/", $stronka1)); - o co mu chodzi?

i prosiłbym jeżeli możecie przerobić ten skrypt tak, żeby jeżeli jest plik o tej nazwie includował go, a jeżeli nie ma takiego to niech includuje inny np. brak.php

PROSZĘ sekret.gif
gorden
jej..
  1. if(file_exists('proba/'.$_SERVER['REQUEST_URI'])) echo 'jest'; else echo 'nie ma';
1slimak
niestety chyba jednak muszę się poddać, to tez nie działa sciana.gif

dzięki za chęć pomocy worriedsmiley.gif
gorden
a co chcesz dokładniej osiągnąć? co Ci nie działa, bo niestety dopiero zaczynam zabawe w bycie jasnowidzem.
1slimak
graduated.gif

wspominałem na wstępie ale może uzupełnię i skonkretyzuję

plik nazywa się powiedzmy costam.php (jest to plik podstawowy)

w innym katalogu znajdują się się różne pliki i między innymi plik o takiej samej nazwie powiedzmy w katalogu proba plik costam.php także tam występuje

chciałbym żeby plik podstawowy sprawdził jak się sam nazywa a następnie sprawdził czy w katalogu proba znajduje się plik o takiej samej nazwie co on i zaincludował go, jeżeli w katalogu proba nie ma pliku o takiej samej nazwie jak podstawowy to inkluduje plik, który na pewno jest w katalogu proba powiedzmy że jest to plik awaria.php

można liczyć na pomoc??

mam nadzieję, że dość jasno jak na moją wiedzę o php opisałem o co mi chodzi sadsmiley02.gif

chodziło by mi o gotowy skrypt, bo na temat php wiem bardzo mało php
Mackos
Popraw to moje:
  1. $stronka1=$_SERVER['REQUEST_URI'];


Druga sprawa sprawdź czy ścieżka którą wpisujesz jest poprawna bo aktualnie z tego co wpisałeś wychodzi że folder próba znajduje się w tym katalogu co stronka którą aktualnie wyświetlasz.
1slimak
Cytat
$sciezka="sciezka do twojego pliku wraz z plikiem";


czy chodzi o cos takiego

  1. $sciezka="proba/$stronka1";


bo nazwę pliku to ma on sprawdzić a ścieżka po prostu katalog proba bo plik podstawowy znajduje się w tym samym katalogu co katalog proba
Mackos
Oj wybacz troche edytowałem post zamin napisałeś wink.gif
Jeśli to co napisałem by nie dzialało to dodatkowo dodaj gdzieś wyżej zmienną ze ścieżka:
  1. $sciezka="proba/$stronka1";
1slimak
  1. <?php
  2. $stronka1=$_SERVER['REQUEST_URI'];
  3. $stronka=end(explode("/", $stronka1));
  4. $sciezka="proba/$stronka1";
  5. if(file_exist("$sciezka")){
  6. echo "Twoj plik istnieje";}
  7. else
  8. {
  9. echo "Twój plik nie istnieje";
  10. }
  11. ?>


i przeglądarka napisała w 5 linii (if(file_exist("$sciezka")){) jest

Cytat
Fatal error: Call to undefined function file_exist() in.....
potreb
file_exists

Czytaj błędy i poprzednie Posty!
1slimak
dzięki za to s wink.gif)

  1. <?php
  2. $stronka1=$_SERVER['REQUEST_URI'];
  3. $stronka=end(explode("/", $stronka1));
  4. $sciezka="proba/$stronka";
  5. if(file_exists($sciezka)){
  6. echo "Twoj plik istnieje";}
  7. else
  8. {
  9. echo "Twój plik nie istnieje";
  10. }
  11. ?>


komunikat wyswietla guitar.gif

a jak zrobić żeby includował ten plik, który jest w katalogu proba o tej samej nazwie??

a jeżeli takiego nie ma to awaria.php

  1. <?php
  2. $stronka1=$_SERVER['REQUEST_URI'];
  3. $stronka=end(explode("/", $stronka1));
  4. $sciezka="proba/$stronka";
  5. if(file_exists($sciezka)){
  6. include "$sciezka";}
  7. else
  8. {
  9. include "nic.php";
  10. }
  11. ?>


pełny sukces, zamiast awaria wziąłem inny plik ale bez różnicy yahoo.gif

DZIĘKUJĘexclamation.gif
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.