jam Posted April 27, 2006 Report Share Posted April 27, 2006 Man ir jāpārbauda vai X direktorijā ir faili. Par tukšu direktoriju jāuzskata ar tāda, kurā ir faili ar . sākumā. Ja ir faili, tad jāuzseto viens variablis, ja nē, tad cits. How? Link to comment Share on other sites More sharing options...
bubu Posted April 27, 2006 Report Share Posted April 27, 2006 Uzzīmē blokshēmu, ja nemāk izdomāt tak. 1) tukšs = true 2) katram failam: 2.1) ja faila vārda pirmais simbols != '.' tad tukšs = false; break; 3) echo tukšs Link to comment Share on other sites More sharing options...
jam Posted April 27, 2006 Author Report Share Posted April 27, 2006 bubu, tu esi labs cilvēks, ja mēģini palīdzēt iemācīties 'loģiku'. 'Loģiku' izdomāt es māku, bet uzrakstīt nemāku :) Link to comment Share on other sites More sharing options...
ViszinisA Posted April 27, 2006 Report Share Posted April 27, 2006 kursh tev php?? ja tev ir php5 tad visu dir var noskaneet ar ScanDir ja nav tad var meeginaat ar readdir Link to comment Share on other sites More sharing options...
jam Posted April 27, 2006 Author Report Share Posted April 27, 2006 (edited) php4 es jau saprotu, ka ar readdir to darīt, bet ja būtu vēl reāls kods, saprastu vēl labāk :) Edited April 27, 2006 by jam Link to comment Share on other sites More sharing options...
eglitis Posted April 27, 2006 Report Share Posted April 27, 2006 $fcount=0; foreach ($dirlist as $dir) { if ($dir[0]!='.') { $fcount++; } } if ($fcount>0) { // ir faili } Ja raksti zināmai sistēmai, tad var saskaitīt ailu skaitu un ja ir divi (. un ..), pieņemt ka mape tukša. readdir piemērs ir manuālī. Link to comment Share on other sites More sharing options...
jam Posted April 27, 2006 Author Report Share Posted April 27, 2006 tas ir linux Šitādam vajadzētu būt? $dirlist = opendir('/direktorija/uz/servera/'); $fcount=0; foreach ($dirlist as $dir) { if ($dir[0]!='.') { $fcount++; } } if ($fcount>0) { // ir faili } Link to comment Share on other sites More sharing options...
john.brown Posted April 27, 2006 Report Share Posted April 27, 2006 Eglīša piemērs derētu 5`jam ar scandir(). Tev vajag šitā: $fh = opendir($dirpath); $isfiles = false; while($file = readdir($fh)) { $pos = strpos($file,'.'); if($pos !== 0) { $isfiles = true; break; } } Tas uzskatīs, ka folderis ir tukš, ja tur ir tik faili, kas sākas ar '.' Link to comment Share on other sites More sharing options...
eglitis Posted April 27, 2006 Report Share Posted April 27, 2006 john, der arī 4ajam, tikai iepriekš masīvā $dirlist jāielasa visu failu nosaukumi, piemērs ir manuālī. Link to comment Share on other sites More sharing options...
john.brown Posted April 27, 2006 Report Share Posted April 27, 2006 (edited) Nu bet vai nav hemorojs divus ciklus viena vietā taisīt? :) Bez tam, tik tagad pievērsu uzmanību, kas šitas ir: $dir[0] != '.'? $dir tak ir strings, kāds tur indeks? Edited April 27, 2006 by john.brown Link to comment Share on other sites More sharing options...
eglitis Posted April 27, 2006 Report Share Posted April 27, 2006 Pārskatamības ziņā - nē. Un nav jau zināms, kas ar to folderi tiks darīts tālāk. Bet par to lai uztraucas jam. Link to comment Share on other sites More sharing options...
blackhalt Posted April 29, 2006 Report Share Posted April 29, 2006 <?php // .fails neskaitaas $direktorija='/srv/www/htdocs/a/'; $rezultats=glob($direktorija.'*'); $cik=count($rezultats); if($cik=='0'){ echo'nav failu'; }else{ echo $cik; } ?> Link to comment Share on other sites More sharing options...
Stopp Posted April 29, 2006 Report Share Posted April 29, 2006 john.brown, parastam stringam ar indeksu norāda simbolu pēc kārtas (sākot no 0) Link to comment Share on other sites More sharing options...
bubu Posted April 29, 2006 Report Share Posted April 29, 2006 $str[0] nav korekti lietot. Stringam tikšana pie čariem notiek ar šādu sintaksi $str{0} kvadrātiekavas vispār nākamajā php versijā tiks atmestas stringam. Link to comment Share on other sites More sharing options...
john.brown Posted April 30, 2006 Report Share Posted April 30, 2006 Nu, jā. Mūžu dzīvo, mūžu mācies :) Ar kvadrātiekavām pilnīgi noteikti nav korekti, tā kā iekš php netiek akcentēts, ka strings pēc būtības ir masīvs, atšķirībā no c, piemēram. Link to comment Share on other sites More sharing options...
Recommended Posts