Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczytanie zasobów z innego katalogu
Forum PHP.pl > Forum > Serwery WWW
NickOver
Cześć
Mam problem z odczytaniem zasobów z innego podkatalogu. Cała aplikacja jest w folderze /home/xxx1/xxx2/xxx/xxx/katalog_aplikacji ja natomiast muszę pobrać pliki na stronę z katalogu /home/xxx1/xxx3/katalog_z_plikami. Próbowałem przez ../../.. Ale to niestety nie chce działać. Możecie mi pomóc?
Pozdrawiam
NickOver
Pyton_000
no to podaj całą ścieżkę czyli bezwzględną
NickOver
Dzięki biggrin.gif Nawet nie wiedziałem że mogę odwoływać się bezpośrednio do /home/ biggrin.gif

Jednakże nadal mam z tym problem. Przeglądarka zwraca mi tylko status 302. Na wszelki dałem chmod 777 na ten folder, mimo tego nadal 302. Dodam że ścieżki tej używam do <audio>
Macie jakieś pomysły jak zrobić abym mógł odsłuchać ten plik?
Pyton_000
A to inna bajka.
Zasób ten musi być dostępny z poziomu domeny na której odpalasz.
Musiałbyś podać adres do jakiegoś skryptu np. http://mojadomena.pl/audio.php?file=nasze_wielkie_wesele
i ten skrypt dopiero by zwracał Twój plik z lokalizacji którą chcesz z odpowiednimi nagłówkami.
NickOver
Mógłbyś napisać coś więcej?
Pyton_000
http://stackoverflow.com/a/2367506/3732803 i inne komentarze w temacie
NickOver
Dobra... Doszedłem do tego że plik jest pobierany, jednakże potrzebuję go odtworzyć w <audio>. Jekieś sugestie?
Pyton_000
a w czym problem? Pokaż kod pobierania, pokaż kod audio
NickOver
  1. <?php
  2. $file = "/home/api/recorded_calls/history/".$this->call.".mp3";
  3. $mime_type = "audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3";
  4. $filename = $this->filename.".mp3";
  5. if(file_exists($file)){
  6. header('Content-type: {'.$mime_type.'}');
  7. header('Content-length: ' . filesize($file));
  8. header('Content-Disposition: filename="'.$filename.'"');
  9. header('X-Pad: avoid browser bug');
  10. header('Cache-Control: no-cache');
  11. }else{
  12. header("HTTP/1.0 404 Not Found");
  13. }
  14. ?>
  15. <audio src="/home/api/recorded_calls/history/<?php echo$this->call;?>.mp3" controls="controls">
  16. </audio>

$this->call i $this->filename są brane z controller'a.
Dodam że jeśli go pobieram wszystko jest spoko, natomiast jeśli chce go otworzyć status pliku to ciągle 302.
Pyton_000
Przecież napisałem że musisz podać adres do Audo który jest dostępny.

jeśli:
Wchodzisz na stronę np. domena.pl/audio/jakisplik i ten link wywoła Ci pobieranie pliku to Ten właśnie adres musisz podać do audio
NickOver
Ok, zrobiłem tak jak mówisz. Lecz teraz mi zwraca status 206. W headerach mam:
Cache-Control:no-cache
Connection:Keep-Alive
Content-Disposition:filename="1436500100.11236.mp3"
Content-Length:1686
Content-Range:bytes 0-1685/1686
Content-Type:{audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3}
Date:Fri, 10 Jul 2015 08:31:31 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=15, max=98
Pragma:no-cache
Server:Apache/2.2.9 (Debian) PHP/5.3.3-7+squeeze8 with Suhosin-Patch
X-Pad:avoid browser bug
X-Powered-By:PHP/5.3.3-7+squeeze8
Pyton_000
no dobra ale gdzie w skrypcie masz wyplucie pliku ?

die(file_get_contents($file));
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.