Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 17:10 Der er 34 kommentarer og
1 løsning

Regne ud hvor mget alle billederne fylder

Hej

Nogle der kan lave en kode til mig som først tager alle adresserne ud til alle billederne lige som her (URL er adressen til billedet):

$query = mysql_query("SELECT URL FROM upload");
while($row = mysql_fetch_array($query)) {
}

Så skal den findes hvor meget de fylder og + dem samme og til sidet udskrive det som mb...

Altså noget ala:

$query = mysql_query("SELECT URL FROM upload");
while($row = mysql_fetch_array($query)) {
$ialt = getimagesize($row['URL']);
}

og så skal alle URL + samme og til sidst skal det lavets om til mb...
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 17:17 #1
Her er kode til at lave det til kb...

$ialt_mb = ROUND($ialt / 1024);

Det skal bare være i mb...
Avatar billede schaefner Juniormester
14. oktober 2003 - 17:25 #2
Er det lokale billeder allesammen, eller er det på andre sider de ligger?
Avatar billede schaefner Juniormester
14. oktober 2003 - 17:31 #3
http://php.net/filesize

Note : "This function will not work on remote files as the file to be examined must be accessible via the servers filesystem."
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 17:38 #4
URL indeholder adresser til billeder f.eks http://www.scooter-eksperten.dk/upload/1.jpg
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 17:39 #5
Ja alle billederne ligger på samme server...
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 17:55 #6
noget du kunne hjælpe mig med??
Avatar billede detox Nybegynder
14. oktober 2003 - 18:40 #7
Prøv fx sådan her:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk/(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize($match[1]);
    return $fsize;
}
$ialt = 0;
$query = mysql_query("SELECT URL FROM upload");
while($row = mysql_fetch_array($query)) {
    $ialt += Get_File_Size($row['URL']);
}
$ialt = round($ialt/(1024*1024),3);
echo $ialt." MB";
Avatar billede detox Nybegynder
14. oktober 2003 - 18:41 #8
Det er så med 3 decimaler, men det kan du jo selv rette til.
Avatar billede detox Nybegynder
14. oktober 2003 - 18:44 #9
Og her går jeg ud fra at dine links starter med: "http://www.scooter-eksperten.dk/", hvis jeg har forstået dig rigtigt.
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 18:55 #10
Jeg har lavet kode om til det her så virker det:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk/upload/(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize($match[1]);
    return $fsize;
}
$ialt = 0;
$query = mysql_query("SELECT filnavn FROM upload");
while($row = mysql_fetch_array($query)) {
    $ialt += filesize($row['filnavn']);
}
$mb = $ialt/(1024*1024);

echo number_format( $mb, 3 ).' Mb';

Men det virker kun hvis jeg udskriver antal mb i samme mappe som billederne ligger i, men jeg vil god udskrive hvor meget de fylder i mappe admin
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:01 #11
Den skriver: Warning: filesize(): Stat failed for 1.jpg (errno=2 - No such file or directory)
Avatar billede detox Nybegynder
14. oktober 2003 - 19:03 #12
Det var tanken med den: $pat = "|http://www.scooter-eksperten.dk/(.+)|";
at den skulle kunne bruges selvom det var forskellige mapper. Prøv fx:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize($match[1]);
    return $fsize;
}
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:06 #13
Dur ikke for billederne ligger i mappen upload og feltet filnavn indeholder kun f.eks 1.jpg
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:07 #14
Alle bliiverne ligger i samme mappe og det er upload..
Avatar billede detox Nybegynder
14. oktober 2003 - 19:11 #15
Ok, men det kommer jo så an på, hvor du ligger scriptet ift. 'upload'. Med den her:
$pat = "|http://www.scooter-eksperten.dk/upload/(.+)|";
får du jo kun selve filnavnene og skal du bruge filesize(), må du have hele stien.
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:13 #16
Alle billederne ligger her www.scooter-eksperten.dk/upload/ og der hvor jeg godt vil have udskrevet hvor meget billederne fylder er her www.scooter-eksperten.dk/upload/admin/
Avatar billede detox Nybegynder
14. oktober 2003 - 19:15 #17
Prøv:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize($_SERVER['DOCUMENT_ROOT'].$match[1]);
    return $fsize;
}
Avatar billede detox Nybegynder
14. oktober 2003 - 19:18 #18
Eller hvis du har scriptet i: 'www.scooter-eksperten.dk/upload/admin/' evt. sådan:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk/upload/(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize("../".$match[1]);
    return $fsize;
}
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:18 #19
Det virker næsten men på /admin/ siger den at billederne fylder 0.039 Mb hvor at her skriver den noget andet...
http://www.scooter-eksperten.dk/upload/test.php
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:19 #20
Det giver ingen forskel...
Avatar billede detox Nybegynder
14. oktober 2003 - 19:22 #21
Ja, det er pudsigt?
Avatar billede detox Nybegynder
14. oktober 2003 - 19:22 #22
Den burde da give det samme uanset, hvor du ligger det.
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:23 #23
Nej :)

Kode ser sådan ud i admin...

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk/upload/(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize("../".$match[1]);
    return $fsize;
}
$ialt = 0;
$query = mysql_query("SELECT filnavn FROM upload");
while($row = mysql_fetch_array($query)) {
    $ialt += Get_File_Size($row['filnavn']);
}
$mb = $ialt/(1024*1024);

echo number_format( $mb, 3 ).' Mb';
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:23 #24
Det gør den ikke..
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:24 #25
Avatar billede detox Nybegynder
14. oktober 2003 - 19:25 #26
Har du prøvet med:

function Get_File_Size($str) {
    $pat = "|http://www.scooter-eksperten.dk(.+)|";
    preg_match($pat, $str, $match);
    $fsize = filesize($_SERVER['DOCUMENT_ROOT'].$match[1]);
    return $fsize;
}
Avatar billede detox Nybegynder
14. oktober 2003 - 19:25 #27
Den skulle hvertfald give samme resultat uanset hvor den ligger.
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:26 #28
Der er ingen forskel det bliver stadig 0.039 Mb
Avatar billede detox Nybegynder
14. oktober 2003 - 19:29 #29
Nå nu du bruger 'filnavn' i stedet for 'URL' her:
$query = mysql_query("SELECT filnavn FROM upload");
hvad er så forskellen?
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:29 #30
Ja det ved jeg godt men det den altså ikke.

Kode til dette: http://www.scooter-eksperten.dk/upload/test.php

$query = mysql_query("SELECT filnavn FROM upload");
while($row = mysql_fetch_array($query)) {
    $ialt += filesize($row['filnavn']);
}
$mb = $ialt/(1024*1024);

echo number_format( $mb, 3 ).' Mb';
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:30 #31
URL har hele adressen f.eks http://www.scooter-eksperten.dk/upload/1.jpg
filnavn har kun filnavnet f.eks 1.jpg
Avatar billede detox Nybegynder
14. oktober 2003 - 19:31 #32
Jeg har jo taget udgangspunkt i URL'en, så måske derfor det driller.
Avatar billede zorg_86 Nybegynder
14. oktober 2003 - 19:33 #33
Det var derfor tak!

Skriv lige som et svar...
Avatar billede detox Nybegynder
14. oktober 2003 - 19:33 #34
Så kan du jo bare bruge:

$query = mysql_query("SELECT filnavn FROM upload");
while($row = mysql_fetch_array($query)) {
    $ialt += filesize($_SERVER['DOCUMENT_ROOT']."/upload/".$row['filnavn']);
}
$mb = $ialt/(1024*1024);

echo number_format( $mb, 3 ).' Mb';
Avatar billede detox Nybegynder
14. oktober 2003 - 19:34 #35
Jeps c",)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester