Majster87 Posted December 31, 2024 Posted December 31, 2024 Próbuje dodać na stronę główna informacje czy plik w download znajduje się na serwerze lokalnym czy na zewnętrznym, wykliniłem cos takiego: {{$fileUrl = (string) $file->url();}} {{$fileHost = parse_url($fileUrl, PHP_URL_HOST);}} {{$serverHost = $_SERVER['HTTP_HOST'];}} {{if $fileHost == $serverHost}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze.";}} {{else}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze: " . $fileHost;}} {{endif}} Ale pokazuje przy temacie gdzie dodany jest link html ze znajduje sie na lokalnym i w temacie gdzie jest wgrany na serwer ze na lokalnym i tu jest dobrze.
Manager DawPi Posted January 1 Manager Posted January 1 Tak zobacz tylko dopasuj czysty PHP do szablonu: <?php $fileUrl = (string) $file->url(); $fileHost = parse_url($fileUrl, PHP_URL_HOST); $serverHost = parse_url($_SERVER['HTTP_HOST'], PHP_URL_HOST); if (!$fileHost) { $fileLocation = "Plik znajduje się na lokalnym serwerze (URL nie ma hosta)."; } else { if ($fileHost === $serverHost) { $fileLocation = "Plik znajduje się na lokalnym serwerze."; } else { $fileLocation = "Plik znajduje się na zewnętrznym serwerze: " . $fileHost; } } intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 1 Author Posted January 1 46 minut temu, DawPi napisał(a): Tak zobacz tylko dopasuj czysty PHP do szablonu: <?php $fileUrl = (string) $file->url(); $fileHost = parse_url($fileUrl, PHP_URL_HOST); $serverHost = parse_url($_SERVER['HTTP_HOST'], PHP_URL_HOST); if (!$fileHost) { $fileLocation = "Plik znajduje się na lokalnym serwerze (URL nie ma hosta)."; } else { if ($fileHost === $serverHost) { $fileLocation = "Plik znajduje się na lokalnym serwerze."; } else { $fileLocation = "Plik znajduje się na zewnętrznym serwerze: " . $fileHost; } } Pokazuje na zewnętrznym gdzie: górny wgrany plik na serwer dolny dodany html
Manager DawPi Posted January 2 Manager Posted January 2 A ten pliki z serwera zewnętrznego to jaki ma url? W sensie w tabeli downloads_files_records, bo by można tak podziałać: {{$lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( 'record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id ), 'record_id DESC' )->first(); }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 2 Author Posted January 2 (edited) 15 minut temu, DawPi napisał(a): A ten pliki z serwera zewnętrznego to jaki ma url? w zaleznosci na jaki hosting uzytkownik wrzuci... Edited January 2 by Majster87
Majster87 Posted January 2 Author Posted January 2 (edited) probowałem to dodac zeby w bazie sprawdzało ale tez pokazuje lokalne wszystko a 95% jest z url dodawane 😕 {{$fileUrl = (string) $file->url();}} {{$fileHost = filter_var($fileUrl, FILTER_VALIDATE_URL) ? parse_url($fileUrl, PHP_URL_HOST) : null;}} {{$serverHost = parse_url('http://' . $_SERVER['HTTP_HOST'], PHP_URL_HOST);}} {{$isLocalByPath = (strpos($fileUrl, '/files/file/') !== false);}} {{$lastFileType = null;}} {{$records = \IPS\Db::i()->select('record_type', 'downloads_files_records', ['record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id], 'record_id DESC');}} {{if $records->count() > 0}} {{$lastFileType = $records->first();}} {{endif}} {{if !$fileHost}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze (URL nie ma hosta).";}} {{elseif $fileHost === $serverHost && $isLocalByPath}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze.";}} {{elseif $lastFileType === 'link'}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze (zgodnie z bazą danych).";}} {{else}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze: " . $fileHost;}} {{endif}} Edited January 2 by Majster87
Manager DawPi Posted January 2 Manager Posted January 2 {{$lastFileType = null;}} {{$records = \IPS\Db::i()->select('record_type', 'downloads_files_records', ['record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id], 'record_id DESC');}} {{if $records->count() > 0}} {{$lastFileType = $records->first();}} {{endif}} {{if $lastFileType === 'link'}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze (zgodnie z bazą danych).";}} {{else}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze:";}} {{endif}} intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 2 Author Posted January 2 5 minut temu, DawPi napisał(a): {{$lastFileType = null;}} {{$records = \IPS\Db::i()->select('record_type', 'downloads_files_records', ['record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id], 'record_id DESC');}} {{if $records->count() > 0}} {{$lastFileType = $records->first();}} {{endif}} {{if $lastFileType === 'link'}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze (zgodnie z bazą danych).";}} {{else}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze:";}} {{endif}} Chyba musze porzucić ten projekt bo cos chyba nie da sie w ips tej informacji wyświetlić, próbowałem wszystkiego juz, z tym co teraz podałeś też pokazuje wszystko na lokalnym...
Majster87 Posted January 2 Author Posted January 2 nawet tak próbowałem zeby rozróznił record_type ale dalej pokazuje wszystko na lokalnym {{$lastFileType = null;}} {{$records = \IPS\Db::i()->select('record_type', 'downloads_files_records', ['record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id], 'record_id DESC');}} {{if $records->count() > 0}} {{$lastFileType = $records->first();}} {{endif}} {{if !$fileHost}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze (URL nie ma hosta).";}} {{elseif $fileHost === $serverHost && $isLocalByPath}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze.";}} {{elseif $lastFileType === 'link'}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze (zgodnie z bazą danych).";}} {{elseif $lastFileType === 'ssupload'}} {{$fileLocation = "Plik znajduje się na lokalnym serwerze (załącznik na forum).";}} {{else}} {{$fileLocation = "Plik znajduje się na zewnętrznym serwerze: " . $fileHost;}} {{endif}}
Manager DawPi Posted January 2 Manager Posted January 2 A tak też tak pokazuje? {{$lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( 'record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id ), 'record_id DESC' )->first(); }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} Daj link do tego pliku. intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 2 Author Posted January 2 (edited) 32 minuty temu, DawPi napisał(a): A tak też tak pokazuje? {{$lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( 'record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id ), 'record_id DESC' )->first(); }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} Daj link do tego pliku. wszytko pokazuje ssupload a sa linki nie wgrane na serwer, na stronie zobacz wszystko tak pokazuje 😕 ale jak przełacze w paginacji na ostatnia strone to pokazuje tak, teraz to zobaczyłem az zgłupiałem a na pierwszej pokazuje na lokalnym ale z błedami bo tam gdzie jest dodane na strone pokazuje link, a tam gdzie url to pokazuje ssupload Edited January 2 by Majster87
Manager DawPi Posted January 3 Manager Posted January 3 21 godzin temu, Majster87 napisał(a): {{$lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( 'record_file_id=? AND record_backup=0 AND record_hidden=0', $file->id ), 'record_id DESC' )->first(); }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} Mój kod pokazuje ssupload? intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 3 Author Posted January 3 48 minut temu, DawPi napisał(a): Mój kod pokazuje ssupload? 22 godziny temu, Majster87 napisał(a): wszytko pokazuje ssupload a sa linki nie wgrane na serwer, na stronie zobacz wszystko tak pokazuje 😕 tak, dalem screeny
Manager DawPi Posted January 3 Manager Posted January 3 Spoko, tylko jakim cudem, jak możliwości do pokazania są inne? Screeny: intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 3 Author Posted January 3 (edited) 8 minut temu, DawPi napisał(a): Spoko, tylko jakim cudem, jak możliwości do pokazania są inne? tak pokazuje na stronie głównej 😐 nawet w temacie a twoj kod: Edited January 3 by Majster87
Majster87 Posted January 5 Author Posted January 5 tylko nie wiem czemu zamiast pobierac adres url do pobrania pobiera adres mojej strony:
Manager Solution DawPi Posted January 6 Manager Solution Posted January 6 W dniu 3.01.2025 o 20:53, Majster87 napisał(a): tak pokazuje na stronie głównej 😐 nawet w temacie a twoj kod: Nie dawaj tego niżej to nie pokaże nic. OK, wiem o co chodzi. Spróbuj tak: {{$lastFileType = NULL; try { $lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( "record_file_id=? AND record_backup=0 AND record_hidden=0 AND ( record_type = 'link' OR record_type = 'upload' )", $file->id ), 'record_id DESC' )->first(); } catch( \Exception $ex ){ } }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} Jak teraz? 1 intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Majster87 Posted January 6 Author Posted January 6 51 minut temu, DawPi napisał(a): Nie dawaj tego niżej to nie pokaże nic. OK, wiem o co chodzi. Spróbuj tak: {{$lastFileType = NULL; try { $lastFileType = \IPS\Db::i()->select( 'record_type', 'downloads_files_records', array( "record_file_id=? AND record_backup=0 AND record_hidden=0 AND ( record_type = 'link' OR record_type = 'upload' )", $file->id ), 'record_id DESC' )->first(); } catch( \Exception $ex ){ } }} {{if $lastFileType == 'link'}} zewnętrzny serwer {{endif}} {{if $lastFileType == 'upload'}} lokalny serwer {{endif}} Jak teraz? Idealnie, teraz pokazuje ok
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now