Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlaczego pliki php dla ajax muszą mieć inną ścieżke?
Forum PHP.pl > Forum > XML, AJAX
Wielebny.pl
Tak w wersji skróconej.
na stronie mam skrypt ajax odnoszący się do funkcji w php:
  1. function import_file_size()
  2. {
  3. if(XMLHttpRequestObject)
  4. {
  5. XMLHttpRequestObject.open("POST", "./upload_file/funkcje_dla_ajax.php");
  6. XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  7. XMLHttpRequestObject.onreadystatechange = function()
  8. {
  9. if (XMLHttpRequestObject.readyState == 4 )
  10. {
  11. if(XMLHttpRequestObject.status == 200)
  12. {
  13. var odpowiedz = XMLHttpRequestObject.responseText;
  14. odpowiedz = unescape(odpowiedz);
  15. alert(odpowiedz);
  16. return odpowiedz;
  17. }
  18. }
  19. }
  20. wysylka = 'tresc';
  21. wysylka = escape(wysylka);
  22. XMLHttpRequestObject.send("tresc=" + wysylka);
  23.  
  24. }
  25. }


plik php:
  1. <?php
  2. include_once('../funkcja.php');
  3.  
  4. if (isset($_POST['tresc']))
  5. {
  6. $tresc=pobierz_z_admin_panel('UPLOAD_SIZE') ;
  7. message_window($tresc);
  8. echo($tresc);
  9. //echo ('OK');
  10. }
  11.  
  12.  
  13. ?>

Rzecz polega na tym iż standardowo przy include od php pliki ładuje się względem pliku index.php czyli jak dla mnie wszędzie jest include_once('./funkcja.php'); ale dla js/ajax musi być względem pliku z aktualnym kodem który akurat w moim przypadku jest w podkatalogu wiec musiałem dodać jedną kropkę include_once('../funkcja.php'); wszystko niby ok ale funkcja pobierz_z_admin_panel odnosi sie do innych funkcji które inclują inne pliki ze standardowa ścieżka z jedną kropką przez co ckrypt zwraca mi nieprawidłową wartość bo nie może się połączyć z bazą itd:
  1. <br />
  2. <b>Warning</b>: include_once(./bazad/bazadconnect.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in <b>/var/www/konik/funkcja.php</b> on line <b>150</b><br />
  3. <br />
  4. <b>Warning</b>: include_once() [<a href='function.include'>function.include</a>]: Failed opening './bazad/bazadconnect.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in <b>/var/www/konik/funkcja.php</b> on line <b>150</b><br />
  5. <br />
  6. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Access denied for user 'www-data'@'localhost' (using password: NO) in <b>/var/www/konik/funkcja.php</b> on line <b>151</b><br />
  7. <br />
  8. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: A link to the server could not be established in <b>/var/www/konik/funkcja.php</b> on line <b>151</b><br />
  9. <br />
  10. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Access denied for user 'www-data'@'localhost' (using password: NO) in <b>/var/www/konik/funkcja.php</b> on line <b>152</b><br />
  11. <br />
  12. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: A link to the server could not be established in <b>/var/www/konik/funkcja.php</b> on line <b>152</b><br />
  13. <br />
  14. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Access denied for user 'www-data'@'localhost' (using password: NO) in <b>/var/www/konik/funkcja.php</b> on line <b>153</b><br />
  15. <br />
  16. <b>Warning</b>: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: A link to the server could not be established in <b>/var/www/konik/funkcja.php</b> on line <b>153</b><br />
  17. <br />
  18. <b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in <b>/var/www/konik/funkcja.php</b> on line <b>175</b><br />
  19. <script language="javascript" type="text/javascript">
  20.  
  21. alert(""); <!--//--></script>


jak to zrobić aby dla plików z funkcjami PHP dla ajax pokrywały się z wszystkimi plikami PHP bez przepisywania wszystkich funkcji i obiektów lub przenoszenia plików ?
erix
Zmień wszystkie ścieżki na bezwgzlędne i będziesz miałe te oraz inne problemy z głowy.

Wpisz sobie realpath na ../plik.php, wewnątrz dołączanych również, to się dowiesz, co interpreter tak naprawdę próbuje dołączyć.
Wielebny.pl
Działa biggrin.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.