Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> md5 dużego pliku na serwerze
atay
post 11.11.2003, 07:46:48
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 8.10.2003

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


mam pliki na serwerze po ok. 10 MB. Traktuję je jak kopie zapasowe i co tydzień wgrywam ich nowe wersje. Dlatego też postanowiłem napisać sobie skrypt, który będzie obliczał mi ich md5, na dysku mam już program, który to robi. Za kodowanie odpowiada kod:
[php:1:c741fb322b]<?php
$plik=fopen($koduj, "r");
echo "Plik: <b>$koduj</b>: ".md5(fread($plik, filesize($koduj)));
?>[/php:1:c741fb322b]
I to się przy małych plikach sprawdza, ale już przy pliku 10 MB dostaję komunikat w ciągu sekudny od wysłania zapytania "połączenie zostało przerwane" od przeglądarki, a skrypt nie pokazuje nowej strony. Czy jest na to jakiś sposób ?


--------------------
atay
Go to the top of the page
+Quote Post
daniel111
post 11.11.2003, 10:38:26
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 28.08.2003

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


Ja na Twoim miejscu spróbowałbym pętli. Nie wiem ile Twój plik ma linijek, ale załóżmy ma ich 100 000. To nie wykonuję tej funkcji od razu dla całego tekstu, tylko dla tekstu powiedzmy co 100 linijek.
Go to the top of the page
+Quote Post
MaKARON
post 11.11.2003, 13:46:09
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 1
Dołączył: 17.07.2003

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


Wykonaj zewnetrzne polecenie md5sum - bez otwierania pliku w php - zwroci Ci sume dla okreslonego pliku, wyluskaj ja tylko ze zwrotu i gotowe.
Go to the top of the page
+Quote Post
Bakus
post 11.11.2003, 16:11:23
Post #4


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Atay'owi chodzi o szyfrowanie całego pliku, a nie jest sumę kontrolną...
Pomysł z pętlą jest lepszy (mniejsze pożeranie pamięci), ale proponowałbym jeszcze zmiane:
zamiast:
[php:1:319a661e40]<?php
$plik=fopen($koduj, "r");
?>[/php:1:319a661e40]
wstawiłbym:
[php:1:319a661e40]<?php
$plik=fopen($koduj, "rb");
?>[/php:1:319a661e40]

Na wypadek, gdyby skrypt znalazł się pod windą i był binarny...
Nigdy nie wiadomo co provaiderom wpadnie do głowy smile.gif


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
spenalzo
post 11.11.2003, 16:14:18
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
Atay'owi chodzi o szyfrowanie całego pliku, a nie jest sumę kontrolną...

Hm? rolleyes.gif
Po co szyfrować plik czymś, czego nie można odszyfrować?


--------------------

Go to the top of the page
+Quote Post
harek
post 11.11.2003, 20:36:46
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 5.08.2003

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


Cytat
Hm? rolleyes.gif
Po co szyfrować plik czymś, czego nie można odszyfrować?

Dokładnie :/ też nie kumam po co ?
Go to the top of the page
+Quote Post
DeyV
post 11.11.2003, 22:13:16
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




oj ludzie ludzie...
Cytat
md5_file
(php 4 >= 4.2.0)
[manual:9e5df29714]md5_file[/manual:9e5df29714] -- Calculates the md5 hash of a given filename
string md5_file ( string filename [, bool raw_output])


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
atay
post 12.11.2003, 21:47:52
Post #8





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 8.10.2003

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


moze byc i suma kontrolna, bo przeciez o to mi chodzi. Tylko chce odczytac ta sume na dysku (mam program do czytania md5 pliku pod winde) i jednoczesnie na serwerze.

add#: dzieki makaraon, zrobiłem Twoim sposobem i działa perfekcyjnie, o to mi chodziło smile.gif, pozdrówka !


--------------------
atay
Go to the top of the page
+Quote Post
Bakus
post 12.11.2003, 22:20:07
Post #9


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Namieszałeś atay...
Trzeba było najpierw poszukać w manualu i potestować, a nie ... zresztą nieważne smile.gif

P.S. Nie 'makaraon' a 'MaKARON' - nie przepadam za przekręcaniem ksywek... denerwuje mnie to... niedbałość o szczegóły jest kłopotem wielu początkujących programistów...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
spenalzo
post 12.11.2003, 22:22:19
Post #10





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Bakus - nabijaniu postów na tym forum mówimy stanowczo NIE. :!:


--------------------

Go to the top of the page
+Quote Post
b3
post 14.11.2003, 16:21:01
Post #11





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 25.08.2003
Skąd: Lublin

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


Cytat
md5_file
(php 4 >= 4.2.0)
[manual:d74a2884f8]md5_file[/manual:d74a2884f8] -- Calculates the md5 hash of a given filename
string md5_file ( string filename [, bool raw_output])


czytaj manuala winksmiley.jpg czasem hehe... smile.gif bo w manualu ejst wszystko !!
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: 19.07.2025 - 12:44