Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] ścieżkowanie
MadManix
post 28.09.2019, 04:14:05
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 18.05.2016

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


1. mam domenę domena.com

2. utworzyłem subdomenę adm.domena.com

3. mam skrypt w php, którego pełna ścieżka wygląda tak:
/var/www/vhosts/domena.com/adm.domena.com/private/magazyn2/logowanie0.php

4. żeby wejść na ten skrypt przez przeglądarkę, wpisuję taki adres: http://adm.domena.com/private/magazyn2/logowanie0.php

5. w katalogu magazyn2 są jeszcze 3 pliki takie jak 1818.jpg, cookie.txt i connect.php

6. jeżeli zawartość skryptu logowanie0.php wygląda tak:
  1. <?php
  2. echo echo '<img src="/private/magazyn2/1818.jpg" width="100px">';
  3. ?>

to wszystko jest ok, obrazek się wyświetla

7. jeżeli zawartość skryptu logowanie0.php wygląda tak:
  1. <?php
  2. echo file_get_contents("/private/magazyn2/cookie.txt");
  3. ?>

to zawartość cookie.txt już się nie pokazuje. Pliku nie może otworzyć.
AH01071: Got error 'PHP message: PHP Warning: file_get_contents(/private/magazyn2/cookie.txt): failed to open stream: No such file or directory in /var/www/vhosts/domena.com/adm.domena.com/private/magazyn2/logowanie0.php

8. jeżeli zawartość skryptu logowanie0.php wygląda tak:
  1. <?php
  2. require_once "/private/magazyn2/connect.php";
  3. ?>

to też lipa
AH01071: Got error 'PHP message: PHP Warning: require_once(/private/magazyn2/connect.php): failed to open stream: No such file or directory in /var/www/vhosts/domena.com/adm.domena.com/private/magazyn2/logowanie0.php on line 10\nPHP message: PHP Fatal error: require_once(): Failed opening required '/private/magazyn2/connect.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/vhosts/domena.com/adm.domena.com/private/magazyn2/logowanie0.php


Czy może ktoś wyjaśnić czemu obrazki są inaczej traktowane przez php niż inne pliki?
oraz co zrobić aby inne pliki były traktowane jak obrazki?
Go to the top of the page
+Quote Post
dublinka
post 28.09.2019, 04:44:33
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


  1. __FILE__

Mozesz uzyc do wstawienia aktualnej sciezki


--------------------
Go to the top of the page
+Quote Post
MadManix
post 28.09.2019, 05:29:01
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 18.05.2016

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


Przenoszę całą witrynę internetową na nowy serwer. Plików jest bardzo dużo. Chciałbym uniknąć edytowania każdego pliku i dopisywania __FILE__
Go to the top of the page
+Quote Post
dublinka
post 28.09.2019, 05:42:14
Post #4





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(MadManix @ 28.09.2019, 05:29:01 ) *
Przenoszę całą witrynę internetową na nowy serwer. Plików jest bardzo dużo. Chciałbym uniknąć edytowania każdego pliku i dopisywania __FILE__

Dziala czy dalej nie


--------------------
Go to the top of the page
+Quote Post
MadManix
post 28.09.2019, 05:52:16
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 18.05.2016

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


w moim przypadku nie działa
Go to the top of the page
+Quote Post
Tomplus
post 28.09.2019, 16:31:29
Post #6





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Ja widzę że zamiast pobierać pliki względną ścieżką używasz bezwzględnej.

Użyj ścieżkę bez /

Dwa. Dlaczego do panelu admina masz tak długą ścieżkę. Możesz użyć sub domenę na ścieżkę gdzie masz logowanie.php
Go to the top of the page
+Quote Post
MadManix
post 30.09.2019, 13:18:52
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 18.05.2016

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


Akurat w tym przypadku, ścieżka bez / faktycznie zadziała.
Ale jeżeli będę chciał zrobić require_once "connect.php" w jakimś innym pliku np. o takiej ścieżce: http://adm.domena.com/private/magazyn2/towary/plik.php
to będzie szukał go w /towary, natomiast plik connect.php znajduje się w /magazyn2

Robię przeniesienie na nowy serwer. Na starym serwerze były tak porobione katalogi. Plików jest dużo. Nie chcę edytować każdego.

Tutaj chyba przydałoby się ustawić jakoś document root, tylko nie wiem w którym miejscu się to ustawia.

To jest serwer VPS na homecloud, CentOS 7
Go to the top of the page
+Quote Post
genko
post 30.09.2019, 23:44:46
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.09.2019

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


A w taki sposób?

  1. ini_set('include_path',ini_get('include_path').':/var/www/vhosts/domena.com/adm.domena.com');

questionmark.gif https://www.a2hosting.com/kb/developer-corn...p-include-paths

Plus masz podwójne echo: echo echo '<img src="/private/magazyn2/1818.jpg" width="100px">';

Ten post edytował genko 30.09.2019, 23:50:43
Go to the top of the page
+Quote Post
MadManix
post 1.10.2019, 17:12:32
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 18.05.2016

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


ten sposób już próbowałem. Również nie działa.

Echo - tak, widziałem
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: 12.06.2025 - 15:30