Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie pliku o określonej długości
KR2615
post 1.09.2011, 11:54:02
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Witam.
Robię skrypt, który będzie serwował pliki testowe o równych rozmiarach (5, 10, 50, 200MB itp) użuytkownikom, chcącym przetetsowac transfer na mój serwer. Stwierdziłem, że nie ma sensu trzymac ich wszystkich na dysku. Można przecież przygotować je po kliknięciu w linka i wysyłać użytkownikowi. Do tej pory udało mi się stworzyć tylko taki kod:

  1. <?php
  2.  
  3. $size = htmlspecialchars($_GET[size[);
  4.  
  5. if(!is_numeric($size)) {
  6. echo "Rozmiar pliku musi być liczbą!"
  7. die();
  8. } elseif($size > "500") {
  9. echo "Zbyt duży rozmiar pliku!";
  10. die();
  11. } else {
  12.  
  13. <--- Co wpisać tutaj -->
  14. header('Content-Disposition: attachment; filename="test.'. $size .'mb"');
  15. header("Content-Type: application/octet-stream");
  16. }
  17. php?>


Zastanawiam się, <--- Co wpisać tutaj --> tak, żeby serwer generował ciąg znaków o określonej długości (np. 50 mb) z uzyciem /dev/urandom

Ten post edytował ksysinek 1.09.2011, 11:55:36


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
eccocce
post 1.09.2011, 12:04:01
Post #2





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Dużo będziesz miał takich plików? Dużo użytkowników będzie z tego korzystać? Zastanawiam się, czy takie generowanie za każdym razem nowego pliku ma sens, bo to jednak generuje za każdym razem jakieś obciążenie dla serwera. Co jeśli kilkunastu użytkowników w tym samym czasie wywoła test z plikiem 500 MB?
Go to the top of the page
+Quote Post
KR2615
post 4.09.2011, 17:14:04
Post #3





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Dużo użytkowników nie będzie więc serwer się nie zawiesi, spokojnie. Plików będzie w sumie kilka GB ale na kilku rożnych stronach (vhostach) dlatego powielanie tych danych byłoby bez sensu. A plik chciałbym nazwać "nazwa_vhosta.ilośb_mb" dlatego widzę sens w robieniu skryptu.

Wpdałem na taki pomysł:
Po header(...); dodałem:
  1. system("dd if=/dev/urandom bs=512 count=$count");

a $count podstawiam odpowiednią ilość bloków.

Temat do zamknięcia.
Pozdrawiam

Ten post edytował ksysinek 4.09.2011, 20:58:35


--------------------
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: 22.06.2025 - 05:16