Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie plików *.swf z innego serwera
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Ardziej
Witam, mam pytanie czy jest możliwość pobrania pliku *.swf z innego serwera po przez PHP lub JS ?
To nie działa:
http://us3.php.net/manual/en/function.readfile.php
Pozdrawiam
flashdev
jest: fopen || curl || file_get_contents
erix
Jak masz zablokowane otwieranie plików zdalnych i dodatkowo cURL/fsockopen, to zapomnij. Zmień serwer.
Ardziej
Cytat(erix @ 11.08.2010, 14:13:46 ) *
Jak masz zablokowane otwieranie plików zdalnych i dodatkowo cURL/fsockopen, to zapomnij. Zmień serwer.

Na Localu sprawdzałem (Xampp)
Mój serwer to Linuxpl.com smile.gif
Może link z manuala na serwie będzie działać ?
A przy wykorzystaniu Jquery nie da rady ?
Dzięki za zainteresowanie smile.gif

Sprawdzałem to lecz niestety wywala błędy !
http://forum.php.pl/index.php?showtopic=112967
Ma ktoś jakiś pomysł jak to naprawić ?
erix
Cytat
Sprawdzałem to lecz niestety wywala błędy !

Byłem dzisiaj u wszystkich z forum i rozbiłem ich szklane kule łącznie z własną. sad.gif

Cytat
A przy wykorzystaniu Jquery nie da rady ?

Chcesz zrobić zwarcie w instalacji elektrycznej kawałkiem szkła?
Ardziej
Cytat(erix @ 11.08.2010, 17:38:57 ) *
Byłem dzisiaj u wszystkich z forum i rozbiłem ich szklane kule łącznie z własną. sad.gif


Chcesz zrobić zwarcie w instalacji elektrycznej kawałkiem szkła?

Sorka myślałem ,że jak dam linka to wyczarujesz z kuli jaki kod smile.gif
Mój błąd, co do błędu w tym kodzie to chodziło tylko o dodanie
  1. <?php
  2. // kod php
  3. ?>

Teraz mam pytanie co lekkiej modyfikacji jak by ktoś się podjął małej pomocy smile.gif
Oto cały kod:
  1. <?php
  2.  
  3. // TRESC SKRTYPTU PHP
  4.  
  5.  
  6. echo'<form action=file.php method=post>
  7. <input type=text name=cos id=cos>
  8. <br><input type=submit name=pobierz value=pobierz>
  9. </form>';
  10.  
  11. if(isset($_POST['pobierz']))
  12. {
  13. $file = $_POST['cos'];
  14.  
  15. //First, see if the file exists
  16. if (!is_file($file)) { die("<b>404 File not found!</b>"); }
  17.  
  18. //Gather relevent info about file
  19. $len = filesize($file);
  20. $filename = basename($file);
  21. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  22.  
  23. //This will set the Content-Type to the appropriate setting for the file
  24. switch( $file_extension ) {
  25. case "pdf": $ctype="application/pdf"; break;
  26. case "exe": $ctype="application/octet-stream"; break;
  27. case "zip": $ctype="application/zip"; break;
  28. case "doc": $ctype="application/msword"; break;
  29. case "xls": $ctype="application/vnd.ms-excel"; break;
  30. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  31. case "gif": $ctype="image/gif"; break;
  32. case "png": $ctype="image/png"; break;
  33. case "jpeg":
  34. case "jpg": $ctype="image/jpg"; break;
  35. case "mp3": $ctype="audio/mpeg"; break;
  36. case "wav": $ctype="audio/x-wav"; break;
  37. case "mpeg":
  38. case "mpg":
  39. case "mpe": $ctype="video/mpeg"; break;
  40. case "mov": $ctype="video/quicktime"; break;
  41. case "avi": $ctype="video/x-msvideo"; break;
  42. case "swf": $ctype="application/x-shockwave-flash"; break;
  43.  
  44. //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
  45. case "php":
  46. case "htm":
  47. case "html":
  48. case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;
  49.  
  50. default: $ctype="application/force-download";
  51. }
  52.  
  53. header('Content-Description: File Transfer');
  54. header('Content-Type: $ctype');
  55. header("Content-Disposition: attachment; filename=".$filename.";");
  56. header('Content-Transfer-Encoding: binary');
  57. header('Expires: 0');
  58. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  59. header('Pragma: public');
  60. header('Content-Length: ' .$len);
  61. flush();
  62. readfile($file);
  63.  
  64. }
  65. ?>

Chodzi oto że pobrać można tylko pliku z katalogu gdzie jest ten plik file.php i nie da rady z zewnętrznych serwerów ?
Co do JavaScript to chciałem na początku użyć aby działał w przeglądarce bez odpalania z locala lub jakiegoś serwera ale skoro się nie da to z PHP zrobię.
erix
Jeśli masz w php.ini wyłączone allow_url_fopen, to nie ma szans. Choć nie wiem, jak w ogóle by się readfile zachowywało, gdyby było włączone.

Proponowałbym użycie fsockopen i pobieranie paczkami zamiast readfile.
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-2024 Invision Power Services, Inc.