class Find_ti { var $ti_sidste_filer; var $ti_sidste_tider;
function Find_ti() { $this->ti_sidste_filer = array(); $this->ti_sidste_tider = array(); } // end constructor Find_ti( )
function sift( $fil ) { $tid = filectime( $fil ); if ( count( $this->ti_sidste_filer ) < 10 ) { // endnu ikke fundet 10 $this->ti_sidste_filer[] = $fil; $this->ti_sidste_tider[] = $tid; } else { // har allerede 10 så skrot den ældste $mintid = $tid; // finder mindste tid ( mindst == ældst ) $minindex = 11; // og index hvor mindste tid ligger for ( $i=0; $i<10; $i++ ) { // find mindste if ( $mintid > $this->ti_sidste_tider[$i] ) { $mintid = $this->ti_sidste_tider[$i]; $minindex = $i; } } if ( $minindex < 10 ) { // indsæt denne istedet for den mindste $this->ti_sidste_tider[$minindex] = $tid; $this->ti_sidste_filer[$minindex] = $fil; } } } // end function sift( string )
} // endclass Find_ti
function traverse( $mappesti ) { global $kq; // funktionen må ikke kaldes før $kq er oprettet $dirptr = opendir( $mappesti ); while (($file = readdir($dirptr)) !== false) { if ( $file == "." || $file == ".." ) { // TILFØJET 3 linier her // ignorer windows's standardmapper } else if ( is_dir($mappesti."/".$file) ) { // er det en undermappe ?
traverse( $mappesti."/".$file ); } else if ( substr( $file, strlen($file)-8 ) == ".dat.php" ) { // er det en .dat fil $kq->sift( $mappesti."/".$file ); } else { // alt andet end undermapper og .dat filer ignorerer vi bare } } closedir( $dirptr ); // luk mappen igen. } // end function traverse( string )
$bundmappe = "./billeder"; // din grundmappe i strukturen. indskriv selv korrekt mappesti. $kq = new Find_ti(); // et objekt til at indsamle filerne i traverse( $bundmappe ); // indsamler de 10 nyeste .dat filer.
for ( $i=0; $i<count($kq->ti_sidste_filer); $i++ ) { // for hver fil vi fandt $temp = file( $kq->ti_sidste_filer[$i] ); $j = count($temp)-2; // index for 3diesidste linie // ændret til while i næste linie while ( $j>0 && strpos( $temp[$j], "archive_text[" ) === false ) { // hvis det ikke er den $j--; // så prøv den ovenover istedetfor } echo "<br>"."<a href=\"ok\">".substr( $temp[$j], 26, strlen($temp[$j]) -26-2 )."</a>"; // udskriv midten af tredie/fjerde/femmte/... -sidste linie. } ?>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$filer = array(); for ( $i=0; $i<count($kq->ti_sidste_filer); $i++ ) { $fil = str_replace(".dat", "", $kq->ti_sidste_filer[$i]); $filer[] = "<a href=\"".$fil."\">"; } så burde du få de filer ud i arrayet $filer...
Synes godt om
Slettet bruger
11. juli 2003 - 21:04#5
Det virkede faktisk, udover den nu ikke viser de ti nyeste, men kun den første... kan ikke gennemskue om den løkke overskriver noget andet...
Synes godt om
Slettet bruger
11. juli 2003 - 21:10#6
Ah , mig der ikke fattede.. det fungerer!
Synes godt om
Slettet bruger
11. juli 2003 - 21:11#7
Smid lige et svar...
Synes godt om
Slettet bruger
11. juli 2003 - 21:24#8
Linjen: while ( $j>0 && strpos( $temp[$j], "archive_text[" ) === false ) { // hvis det ikke er den
Ville jeg meget gerne have til at være : while ( $j>0 && strpos( $temp[$j], "archive_text[" ) === false ) || strpos( $temp[$j], "$archive_text[ $index] = "blablabla!";" ) === true ) { // hvis det ikke er den
Men "compileren" fejler, og siger: Parse error: parse error, unexpected T_BOOLEAN_OR
Men kan ikke forstå hvorfor det er forkert? Fordi det er jo en OR boolean jeg skal bruge?
Strengen skal frasorteres hvis ententen den ene, eller den anden kriterie er opfyldt..
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Synes godt om
Slettet bruger
11. juli 2003 - 21:53#12
detox > Prøvede også at rette på situationstegnene, men uden resultat...
Synes godt om
Slettet bruger
11. juli 2003 - 22:03#13
Oh.. det var fordi jeg havde mellemrum i "blablabla" > "bla bla bla"
Synes godt om
Slettet bruger
11. juli 2003 - 22:09#14
Findes der så et wildcard for mellemrum, eller noget?
Synes godt om
Slettet bruger
11. juli 2003 - 22:18#15
Typiskt.. jeg skrev "blablabla" fordi jeg ikke gad skrive den rigtige sætning, men den indeholder mellemrum.. og det må den åbenbart ikke.. hvad gør man så?
Mellemrum skulle være ok, men hele strengen bør se sådan her ud: "\$archive_text[ \$index] = \"blablabla!\"\;" hvis den skal fortolkes som du har skrevet.
Ja, så vidt jeg lige kan gennemskue din funktion er den faktisk selvmodsigende. I det du først har: "archive_text[" ) === false og derefter: "$archive_text[ $index] = "blablabla!";" ) === true så hvis den anden er true ville den første jo osse være det.
Synes godt om
Slettet bruger
11. juli 2003 - 22:45#29
Doh, det kan da egentlig godt være... hvad gør man så? Deler den i to?
Synes godt om
Slettet bruger
11. juli 2003 - 22:48#30
Nåja.. den while sætning siger jo, at hvis archive_text[ IKKE er der, skal den springe den over..
Er det så bare at lave en nedenunder der siger, at hvis så $archive_text[ $index] = "blablabla!";" ER der, skal den også gå videre...?
Kan du ikke bare nøjes med: "$archive_text[ $index] = "blablabla!";" ) === true?
Synes godt om
Slettet bruger
11. juli 2003 - 22:49#32
Men.. så synes jeg egentlig stadig min sætning burde virke.. den siger hvis archive_text[ er falsk, ELLER hvis $archive_text[ $index] = "blablabla!";" er SAND, så skal den hoppe videre...
Synes godt om
Slettet bruger
11. juli 2003 - 22:50#33
Nej, fordi i de forskellige filer, står der andre ting end lige bla bla bla... men der står også andre ting end lige archive_text[ .. dvs at den skal tage linjen med archive_text[ hvergang, men når linjen så yderligere indeholder blablabla, skal den gå videre...
Hm.. men måske er jeg helt på forkert spor, fordi i den while sætning leder den jo i en fil den har fundet.. og den fil skal jo så helt kasseres...
Jeg er ikke helt med på hvad det går ud på, men det er da nærliggende at inkludere det i din klasse, hvis det er nogle filer du alligevel skal slette.
Synes godt om
Ny brugerNybegynder
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.