abonnement Unibet Coolblue Bitvavo
  donderdag 24 november 2005 @ 14:10:20 #241
104583 cyberstalker
Een krachtig neen!
pi_32536257
quote:
Op donderdag 24 november 2005 14:05 schreef Chandler het volgende:

[..]

Windows? en wat is mount?
Oh, windhoos, dan weet ik het ook niet hoor.
Hope for the best, prepare for the worst.
  donderdag 24 november 2005 @ 14:15:33 #242
104583 cyberstalker
Een krachtig neen!
pi_32536409
mount is overigens een programma waarmee je schijven kunt koppelen. Als je het command mount uitvoert zonder argumenten, krijg je een lijst van aangekoppelde apparaten, zoals dit (voorbeeld van mijn systeem):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ mount
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /lib/modules/2.6.12-9-amd64-generic/volatile type tmpfs (rw,mode=0755)
/home on /chroot/home type none (rw,bind)
/tmp on /chroot/tmp type none (rw,bind)
/dev on /chroot/dev type none (rw,bind)
/proc on /chroot/proc type proc (rw)
/media/cdrom0 on /chroot/media/cdrom0 type none (rw,bind)
/media/cdrom1 on /chroot/media/cdrom1 type none (rw,bind)
/media/cdrom2 on /chroot/media/cdrom2 type none (rw,bind)
/media/cdrom3 on /chroot/media/cdrom3 type none (rw,bind)
/usr/share/fonts on /chroot/usr/share/fonts type none (rw,bind)
tmpfs on /dev type tmpfs (rw,size=10M,mode=0755)


Hier zie je dus duidelijk om welke apparaten het gaat, welke rechten erbij horen, en waar ze aangekoppeld zijn. Precies wat jij dus nodig hebt voor je script.
Hope for the best, prepare for the worst.
pi_32536433
quote:
Op donderdag 24 november 2005 12:28 schreef Chandler het volgende:
een kleine; weet iemand hoe je alle diskdrives kan detecteren? zowel de schrijfbare als de niet schrijfbare? in php dus wel te verstaan
kan volgens mij alleen met los proggie...

misschien kan je in phpmystats wat vinden hierover...
eff gogelen hiernaar, weet url niet...
pi_32536584
ok, dacht dat dit wel vrij simpel kon met php ofzo... misschien een bestandje proberen te maken en error vangen ofzo? open en schrijven anders read only maar goed ik zal ff zoeken..

-- gezocht; werkt zover ik kan zien ook met mount (external progie) maar't zou toch ook zonder extra progie moeten willen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 24 november 2005 @ 14:27:36 #245
104583 cyberstalker
Een krachtig neen!
pi_32536735
mount is geen external progje. mount is een standaard-onderdeel van POSIX-compliant systemen.

Windows is niet POSIX-compliant, en je zult het daarop dus niet kunnen gebruiken.
Hope for the best, prepare for the worst.
pi_32537119
quote:
Op donderdag 24 november 2005 14:27 schreef cyberstalker het volgende:
mount is geen external progje. mount is een standaard-onderdeel van POSIX-compliant systemen.

Windows is niet POSIX-compliant, en je zult het daarop dus niet kunnen gebruiken.
Helaas voldoet mount niet aan de omschrijvingen. Mount kan niet álle diskdrives laten zien die zowel schrijfbaar als niet-schrijfbaar zijn, namelijk degene die niet gemount zijn laat ie achterwege

In Windows kun je dat misschien het beste via de win32api doen (zijn genoeg functies voor beschikbaar waarmee je een lijst terugkrijgt met alle diskdrives). Helaas zuigt PHP gigantisch als het om w32api gaat (check de documentatie, heb 't ooit geprobeerd maar grote kans dat het niet werkt).

[offtopic]
Ik dacht dat mount gewoon in UNIX bestond, vanaf versie 4; en heeft het niet zozeer iets te maken met POSIX
pi_32537689
quote:
Op donderdag 24 november 2005 14:21 schreef Chandler het volgende:
ok, dacht dat dit wel vrij simpel kon met php ofzo... misschien een bestandje proberen te maken en error vangen ofzo? open en schrijven anders read only maar goed ik zal ff zoeken..

-- gezocht; werkt zover ik kan zien ook met mount (external progie) maar't zou toch ook zonder extra progie moeten willen?
http://fia181-83.dsl.hccnet.nl/fok/HardDiskDrive.rar

download die, die komt van phpmystats af..
inclusief proggie en script...
hier draait ie bij mij:
http://fia181-83.dsl.hccnet.nl/server/phpmystats/
pi_32539766
tnx, ik ga er eens mee spelen maar had verwacht dat dit ook zonder programma kon... ff denken, ooit heb ik een free space ding gevonden en omgebouwd voor php... hmmm...

http://www.phpfreakz.nl/library.php?sid=15123

Whahaha... moet dus zelfs zonder progie werken dus wat dom...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32540283
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?

function getDriveStats($drive)
{
    if (strlen($drive) == 1)
    {
        $drive = $drive . ":";
    }
    
    $exists = @stat($drive);
    if ($exists != false)
    {
        $free  = disk_free_space($drive);
        $total = disk_total_space($drive);

        $driveinfo['space'] = $total;
        $driveinfo['used']  = $total;
        $driveinfo['free']  = 0;
        
        if ($total != 0)
        {
            $driveinfo['free'] = $free;
            $driveinfo['used'] = $total - $free;
        }

        return $driveinfo;
    }
    
    return false;
}

for ($x = 0; $x < 26; $x++)
{
    $info = getDriveStats(chr(65+$x));
    
    echo 'drive ' . CHR(65+$x);
    
    if ($info == false)
    {
        echo ' does not exists <br />';
    }
    else
    {
        echo ' exists and is ' . $info['space'] . ' bytes big and has ' . $info['free'] . ' bytes free<br />';
    }
}
?>


zo kijk ik of er diskjes zijn maar goed, moet nu nog sjitten met die www.php.net/stat functie, want kan daar niet echt uithalen wat voor drive het betreft; al zou dat moeten kunnen volgens de manual

-edit-
heb nu ook de 'space' er bij gezet in bytes maar krijg voor een CD/EmulatedCD nix terug over gebruikt, free, etc best jammer
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32543526
Het is me nu gelukt met de eval() functie. Maar niet optimaal.

(ik wil dat de variable in een variable gewijzigd wordt door de waarde van de variable)
ff ter verduidelijkin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
php
$string
= 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo
$str. "\n";
eval(
"\$str = \"$str\";");
echo
$str. "\n";
/*
output:
This is a $string with my $name in it.
This is a cup with my coffee in it.
*/
?>


Maar het werkt niet als ik een variable als '$conf['form'] gebruik.

Kan ie ook zo'n soort variable eval'en?
pi_32544317
@the_disheaver

Je kunt voor jouw toepassingen veel beter alsnog gebruik maken van preg_replace, en kijken naar hoe (simpele) template parsers dit doen. Een standaard vervanging van een enkele variabele met preg_replace is vrij simpel, met arrays wordt het ietsjes complexer maar dat valt ook op dezelfde manier op te vangen
pi_32546883
-

[ Bericht 49% gewijzigd door DutchBlood op 24-11-2005 20:48:09 ]
  donderdag 24 november 2005 @ 20:36:09 #253
37634 wobbel
Da WoBBeL King
pi_32546957
Dit zal waarschijnlijk een heel stomme post zijn, excuses voor dat. Ik zit nu hartstikke ziek thuis en ben de hele dag al wazig, maar ik kom er bij onderstaand scriptje niet uit :s

Owjah, omdat de code tag van Fok! niet goed werkt kun je de code hier wel goed bekijken:
http://194.126.173.14/~xostnl/tccl/TEMP.phps
De uitkomst hier:
http://194.126.173.14/~xostnl/tccl/TEMP.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$MySQL_Download_Assoc
['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB

if($MySQL_Download_Assoc['Filesize'] &lt;= 1024)
{

    
$Filesize                    = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB";
    
}
elseif(
$MySQL_Download_Assoc['Filesize'] &gt;= 1025 OR $MySQL_Download_Assoc['Filesize'] &lt;= 1048576)
{

    
$Filesize                    = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB";

}
elseif(
$MySQL_Download_Assoc['Filesize'] &gt;= 1048577 OR $MySQL_Download_Assoc['Filesize'] &lt;= 1073741824)
{

    
$Filesize                    = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB";

}
else
{

    
$Filesize                    = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB";

}

echo
$Filesize;

?>


De bovenstaande Filesize is 3.4 GB, maar $Filesize zegt dat het 3.466,1 MB is ipv 3,5 GB.
pi_32547763
die "Or's" moeten "AND's" zijn lijkt me zo

Als je nou de code tag gebruikt, dan werkt t wel goed want die is wel goed.
pi_32547986
Als je van die or's and's maakt werkt het ook.

Maar waarom uberhaupt die groter-dan er in zetten? Lijkt me een beetje dubbelop icm de elseif
pi_32548106
quote:
Op donderdag 24 november 2005 19:03 schreef JeRa het volgende:
@the_disheaver

Je kunt voor jouw toepassingen veel beter alsnog gebruik maken van preg_replace, en kijken naar hoe (simpele) template parsers dit doen. Een standaard vervanging van een enkele variabele met preg_replace is vrij simpel, met arrays wordt het ietsjes complexer maar dat valt ook op dezelfde manier op te vangen
Dit werkt (in mijn geval) nog beter.
1
2
3
4
5
6
7
8
9
10
11
$template = implode ( "", file ( "./template.html" ) );

$vars = array ();

$vars [ "title" ] = "Titeltje";
$vars [ "content" ] = "Inhoud";

foreach ( $vars as $key => $value )
   $template = str_replace ( '{' . $key . '}', $value, $template )

echo $template;

templatebestand template.html:
1
2
3
4
5
6
7
8
<html>
<head>
   <title>{title}</title>
</head>
<body>
<p>{content}</p>
</body>
</html>

(met dank aan de search in GoT, en drm)
  donderdag 24 november 2005 @ 21:11:29 #257
37634 wobbel
Da WoBBeL King
pi_32548124
AND of OR, het maakt niks uit ik krijg in beeld krijgen: 3.466,1 MB
pi_32548335
Zoals al gezegd, als je al weet dat een getal niet <= 1024 is, dan hoef je daarna niet te controleren of het >= 1025 is
Wat er nou precies fout gaat zie ik niet zo 1, 2, 3. Je code is niet zo overzichtelijk door die overbodige controle en doordat overal $MySQL_Download_Assoc['Filesize'] staat. Dit is typisch iets wat je makkelijker in een functie zet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function FormatByteSize($size) {
   if ($size <= 1024 ) {
      $s = number_format($size, 0, ',', '.') . ' bytes';
   } else if ($size <= 1024 * 1024) {
      $s = number_format($size / 1024, 1, ',', '.') . ' kB';
   } else if ($size <= 1024 * 1024 * 1024) {
      $s = number_format($size / (1024  * 1024), 1, ',', '.') . ' MB';
   } else if ($size <= 1024 * 1024 * 1024 * 1024) {
      $s = number_format($size / (1024 * 1024 * 1024), 1, ',', '.') . ' GB';
   } else {
      $s = number_format($size / (1024 * 1024 * 1024 * 1024), 1, ',', '.') . ' TB';
   }
   return $s;
}


Resultaten:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1 bytes = 1 bytes
10 bytes = 10 bytes
100 bytes = 100 bytes
1000 bytes = 1.000 bytes
10000 bytes = 9,8 kB
100000 bytes = 97,7 kB
1000000 bytes = 976,6 kB
10000000 bytes = 9,5 MB
100000000 bytes = 95,4 MB
1000000000 bytes = 953,7 MB
10000000000 bytes = 9,3 GB
100000000000 bytes = 93,1 GB
1000000000000 bytes = 931,3 GB
10000000000000 bytes = 9,1 TB
3634512123 bytes = 3,4 GB
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32548353
http://www.phpfreakz.nl/library.php?sid=17556

het kan nog beter trouwens, zie de comments in dit scriptje
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 24 november 2005 @ 21:22:24 #260
37634 wobbel
Da WoBBeL King
pi_32548453
- dank je stom databeest, voor deze dubbelpost -
  donderdag 24 november 2005 @ 21:22:53 #261
37634 wobbel
Da WoBBeL King
pi_32548464
quote:
Op donderdag 24 november 2005 21:18 schreef SuperRembo het volgende:
Zoals al gezegd, als je al weet dat een getal niet <= 1024 is, dan hoef je daarna niet te controleren of het >= 1025 is
Wat er nou precies fout gaat zie ik niet zo 1, 2, 3. Je code is niet zo overzichtelijk door die overbodige controle en doordat overal $MySQL_Download_Assoc['Filesize'] staat. Dit is typisch iets wat je makkelijker in een functie zet.
[ code verwijderd ]

Resultaten:
[ code verwijderd ]
Thnx, eigenlijk werkt alles in mijn site met functies (1 function library php file met meer dan 2000 regels code)

Nu heb ik ff deze functie ingebouwd en het werkt goed
pi_32548509
zo dan :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$MySQL_Download_Assoc['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB

if($MySQL_Download_Assoc['Filesize'] >= 1073741824)
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB";
}elseif($MySQL_Download_Assoc['Filesize'] >= 1025 OR $MySQL_Download_Assoc['Filesize'] >= 1048576){
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB";
}elseif($MySQL_Download_Assoc['Filesize'] >= 1048577 OR $MySQL_Download_Assoc['Filesize'] >= 1024){
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB";
}else{
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'], 1, ",", ".") . " Bytes";
}

echo $Filesize;
?> 


-edit-
Ik geloof dat ik een beetje laat ben met mn reactie
pi_32548540
1$MySQL_Download_Assoc['Filesize'] = "[b]3634512123[/b]";


is groter dan

1$MySQL_Download_Assoc['Filesize'] <= [B]1073741824[/b])


De variable is blijkbaar niet 3,5 GB. maar 35GB en dus voert hij de else{} uit, waar MB's uitkomen.
  donderdag 24 november 2005 @ 21:26:09 #264
37634 wobbel
Da WoBBeL King
pi_32548546
quote:
Op donderdag 24 november 2005 21:18 schreef Chandler het volgende:
http://www.phpfreakz.nl/library.php?sid=17556

het kan nog beter trouwens, zie de comments in dit scriptje
Die b moet een hoofdletter B zijn in dat scriptje anders is het bits en geen Bytes
pi_32548566
wat the_disheaver zegt idd, die fout heb ik er in bovenstaand script uitgehaald.
  donderdag 24 november 2005 @ 21:29:33 #266
37634 wobbel
Da WoBBeL King
pi_32548659
Dank jullie voor al jullie reacties, maar het werkt ondertussen al


En nu duik ik in bed kut ziek zijn
pi_32548707
quote:
Op donderdag 24 november 2005 21:26 schreef ikke_ook het volgende:
wat the_disheaver zegt idd, die fout heb ik er in bovenstaand script uitgehaald.
De waarde in de elseif functie was verkeerd ipv de waarde van de variable
pi_32548811
quote:
Op donderdag 24 november 2005 21:24 schreef ikke_ook het volgende:
zo dan :
[ code verwijderd ]

-edit-
Ik geloof dat ik een beetje laat ben met mn reactie
de groter dan functie eruit gehaald, en een '{' toegevoegd.

En zo werkt ie wel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$MySQL_Download_Assoc['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB

if($MySQL_Download_Assoc['Filesize'] >= 1073741824){
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB";
}elseif($MySQL_Download_Assoc['Filesize'] >= 1048576) {
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB";
}elseif($MySQL_Download_Assoc['Filesize'] >= 1024){
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB";
}else{
    $Filesize = number_format($MySQL_Download_Assoc['Filesize'], 1, ",", ".") . " Bytes";
}

echo $Filesize;
?>


Beetje overbodig, maar ach
  donderdag 24 november 2005 @ 22:12:40 #269
104583 cyberstalker
Een krachtig neen!
pi_32549992
quote:
Op donderdag 24 november 2005 18:31 schreef the_disheaver het volgende:
Het is me nu gelukt met de eval() functie. Maar niet optimaal.

(ik wil dat de variable in een variable gewijzigd wordt door de waarde van de variable)
ff ter verduidelijkin:

[ code verwijderd ]

Maar het werkt niet als ik een variable als '$conf['form'] gebruik.

Kan ie ook zo'n soort variable eval'en?
Nee, ik denk dat je dan met Regular Expressions aan de slag moet.
Hope for the best, prepare for the worst.
pi_32565849
kan ik mn $_GET data verwijderen? dus dattie halverwege mn PHP file de $_GET['test'] leeg maakt bijvoorbeeld.
As a rule, I never touch anything more sophisticated and delicate than myself.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')