Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z dostaniem się do pliku w folderze privat na hostingu home.pl
Qatadah
post 7.06.2018, 04:42:48
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 1.11.2017

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


Cześć. Mam mały problem. Jak na hostingu home.pl dostać się do pliku znajdującego się w folderze privat.
Folder znajduję się w głównym katalogu serwera w tym samym co folder public_html Identyczną strukturę plików mam w xampp i tu wszystko działa. Nie ustawiałem żadnych haseł do tego folderu ani nie dodawałem pliku .htaccess do folderu privat, nie wiem skąd go wziąć, może tu leży problem. Folder skopiowałem na serwer w FileZilla, znalazłem tam też w menu kontekstowym jak prawa pliku ustawiłem takie same jak do folderu public_html ale to nie pomogło.

Dostanie do pliku realizuję w kodzie za pomocą PHP

  1. <?php require_once('../../private/initialize.php'); ?>


pod xamppem działa, a teraz na hostingu wyskakują takie błędy o to:

Warning: require_once(../../private/initialize.php): failed to open stream: No such file or directory in /home/index.php on line 1

Fatal error: require_once(): Failed opening required '../../private/initialize.php' (include_path='.:/:/usr/local/php71/lib/pear') in /home/index.php on line 1


Struktura folderów jest identyczna pod xampp jak i na hostingu, wydaje mi się że coś z uprawnieniami może ale nigdy tego nie robiłem, moglibyście pomóc, rozwiązać ten problem? Z góry bardzo dziękuję
Go to the top of the page
+Quote Post
nospor
post 7.06.2018, 09:14:22
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




wg komunikatu sciezka nie istnieje a nie ze nie masz do niej praw. To dwie rozne rzeczy. A ze latasz na sciezkach wzglednych to calkiem prawdopodobne ze cos ci sie pochrzanilo


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Mega_88
post 7.06.2018, 14:46:40
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

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


Możliwe, że to rozwiąże Twój problem: https://pomoc.home.pl/baza-wiedzy/czym-jest...aniu-na-katalog
Go to the top of the page
+Quote Post
Qatadah
post 7.06.2018, 21:05:28
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 1.11.2017

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


Przekierowanie raczej nie, próbowałem ale to nie to. Mój "startowy" index.php znajduje się w katalogu public_html jeśli przekieruję na katalog private to musiał bym go tam umieścić a to nie o to chodzi.

A co do ścieżek, może masz racje. Tylko że mam taka samą strukturę katalogów pod xampp i na hostingu. Mam dwa katalogi na jednej wysokości w głównym katalogu serwera czyl katalogi private i public_html. Plik index.php znajduję się w public_html i z niego otwiera się strona. Mimo wszystko próbowałem kombinować z tą ścieżką ../........ ../../../....... no różnie, zawsze jednak to samo a struktura jest identyczna pod xampp gdzie mi wszystko działa. Po prostu nie wiem jeszcze czego się chwycić. Z tond moje podejrzenia że może potrzebuje nadać jakieś uprawnienia na katalog private bo inaczej jest nie widoczny dla kodu, inaczej nie mogę wyjść w katalog wyżej niż ten w którym znajduje się plik index.php (na którym otwiera się strona główna, nie wiem jak to poprawnie nazwać)
Go to the top of the page
+Quote Post
Pyton_000
post 8.06.2018, 06:50:56
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


przede wszystki xampp to windows, a serwer masz na linuksie. Kolejna sprawa jeśli faktycznie struktura jest identyczna to jest prawdopodobne że sewer zamyka stronę w "jail" czyli ustawia główny root katalog na public i nigdzie wyżej nie wyjdziesz z niego.

kolejna rzecz to odpal `echo getcwd();` w index.php i pokaż jak wygląda ścieżka
Go to the top of the page
+Quote Post
Qatadah
post 9.06.2018, 05:00:31
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 1.11.2017

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


Bardzo fajnie to wytłumaczyłeś wielki szacun za poświęcony czas i chęci i sam obstaje za tym co piszesz. Ale wiem że można ustawić folder privat na home.pl ale tam sie ustawia hasła, nie wiem jak to przenieść na kod, dla mnie to magia.

Jestem samoukiem. Ale idąc najmniejszą linią oporu skopiowałem folder privat do public_html i o ile mi linki, nie wiem jak nazwać dynamiczne? Moze inaczej mam jedno menu do wszystkich stron i pod stron(zawarte w header) a mam jeden header który doklejam do contentu danej strony ale wszystko dalej działa pod xampp ale na produkcji linki czy to do css czy pod stron mi się posypały, jednym słowem nie działają. Nie wiem jak poniższy kod zapisać, przerobić by zadziałał na produkcji(hostingu) Pod xamppem poniższy kod hula aż miło. Na produkcji klęknąłem. Wszystko cała zawartość się dodaje więc stałe są w porządku ale linki jak pisze do css i pod stron padły na produkcji

  1. <?php
  2. define("PRIVATE_PATH", dirname(__FILE__));
  3. define("PROJECT_PATH", dirname(PRIVATE_PATH));
  4. define("PUBLIC_PATH", PROJECT_PATH . '/public_html');
  5. define("SHARED_PATH", PRIVATE_PATH . '/shared');
  6.  
  7. $public_end = strpos($_SERVER['SCRIPT_NAME'], '/public_html') + 12;
  8. $doc_root = substr($_SERVER['SCRIPT_NAME'], 0, $public_end);
  9. define("WWW_ROOT", $doc_root);
  10.  
  11. require_once('functions.php');
  12. ?>


functions.php

  1. <?php
  2. function url_for($script_path) {
  3. if($script_path[0] != '/') {
  4. $script_path = "/" . $script_path;
  5. }
  6. return WWW_ROOT . $script_path;
  7. }
  8. ?>



przykładowy link który działa pod xampp

  1. <a href="<?php echo url_for('/home/index.php'); ?>">Home</a>

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: 30.03.2024 - 00:24