Lokaltog Skrevet 8. november 2008 Del Skrevet 8. november 2008 Jeg har dessverre ikke noen kode jeg sitter på rettighetene til å legge ut her, og som er av en kvalitet jeg føler hører hjemme i dette forumet (mesteparten av det jeg koder om dagen som kunne ha blitt lagt ut er "closed source", og en del av de eldre scriptene mine har begynt å falme etterhvert som jeg får litt mer innsikt i programmering). Mulig jeg skriver en litt bedre variant av CSS-cache-scriptet mitt som eventuelt blir lagt ut her etterhvert. Lenke til kommentar
PHP_Yoghurt Skrevet 8. november 2008 Del Skrevet 8. november 2008 Mulig jeg skriver en litt bedre variant av CSS-cache-scriptet mitt som eventuelt blir lagt ut her etterhvert. Hva er et CSS-cache-script ? Lenke til kommentar
Lokaltog Skrevet 8. november 2008 Del Skrevet 8. november 2008 (endret) @PHP_Yoghurt: Det cachescriptet vi bruker på Russ.no er en videreutvikling av scriptet som ligger i den gamle kodetråden i PHP-forumet. Det scriptet gjør er i hovedsak å tolke CSS'en og skrive den ut med færrest mulige tegn, i tillegg til å komprimeres med gzip. Deretter lagres den ferdige gzippede filen enten i filsystemet eller i memcache for å kunne hentes raskt ut igjen. En live versjon kan du se på http://filer.russ.no/static/lib/css/main/. Endret 8. november 2008 av Lokaltog Lenke til kommentar
PHP_Yoghurt Skrevet 8. november 2008 Del Skrevet 8. november 2008 @PHP_Yoghurt: Det cachescriptet vi bruker på Russ.no er en videreutvikling av scriptet som ligger i den gamle kodetråden i PHP-forumet. Det scriptet gjør er i hovedsak å tolke CSS'en og skrive den ut med færrest mulige tegn, i tillegg til å komprimeres med gzip. Deretter lagres den ferdige gzippede filen enten i filsystemet eller i memcache for å kunne hentes raskt ut igjen. En live versjon kan du se på http://filer.russ.no/static/lib/css/main/. Så du bruker et php-script til å få css'koden på en linje? Lenke til kommentar
JohndoeMAKT Skrevet 9. november 2008 Forfatter Del Skrevet 9. november 2008 (endret) Det kalles aa minify-e paa godt norsk. http://en.wikipedia.org/wiki/Minify PHP_Yoghurt : Han concatinater sannsynligvis ogsaa flere filer sammen. Det gj0r hvertfall JS/CSS-kompressoren jeg har skrevet til rammeverket vi bruker paa jobben. ( Som ikke blir BSD-lisensiert f0r om et par maaneder, saa jeg kan heller ikke legge det ut her. ) Endret 9. november 2008 av JohndoeMAKT Lenke til kommentar
Wackamole Skrevet 9. november 2008 Del Skrevet 9. november 2008 en cache er som ram minnet i pc'en din - det er hurtigere enn harddisken derfor kan man hente ut css'en raskere mellom hvær side visning.. Lenke til kommentar
Peter Skrevet 9. november 2008 Del Skrevet 9. november 2008 (endret) Tror fortsatt jeg kan stå inne for denne posten fra den gamle tråden, selv om den egentlig ble skrevet for PHP4: Skrev en enkel, men nyttig funksjon idag. Tenkte jeg kunne poste den her, og høre om noen river ut håret og ser noen kritiske feil. Mistenker at indenten kommer til å se #¤%& ut, men men function listDir($dir, $filter_func) { $ret = array(); if(function_exists($filter_func) && is_callable($filter_func)) { if(is_dir($dir)) { if(is_readable($dir)) { $curr_dir = getcwd(); // undocumented notice on error? if(@chdir($dir)) { if($fp = opendir('.')) { while(false !== ($file = readdir($fp))) { if($file != '.' && $file != '..') { if(call_user_func($filter_func, $file)) $ret[] = $file; } } closedir($fp); } chdir($curr_dir); } } } } return $ret; } Kort og godt lister funksjonen filene i mappen basert på en annen definert funksjon. Merk at den hopper over "." og "..", selv om disse er mapper. F.eks. $file_list = listDir('.', 'is_file'); // lister alle filer i denne mappen $dir_list = listDir('.', 'is_dir'); // lister alle mapper i denne mappen, bortsett fra . og .. Fungerer også (regner jeg med) for egendefinerte funksjoner som returnerer TRUE/FALSE basert på ett argument. eks. (Delvis pseudo-kode) function is_image($img) { if(er_bilde) return true; else return false; } $img_list = listDir('.', 'is_image'); Endret 9. november 2008 av Peter Lenke til kommentar
itsmebth Skrevet 9. november 2008 Del Skrevet 9. november 2008 Hvorfor bruker du chdir? Lenke til kommentar
Peter Skrevet 9. november 2008 Del Skrevet 9. november 2008 Hvorfor bruker du chdir? Det er et godt spørsmål som jeg ikke husker i farten. Denne koden ble skrevet for rimelig lenge siden. (PHP5 var fortsatt ganske nytt) Muligens det hadde noe med callback-funksjonene å gjøre, men sannelig om jeg vet. Skulle jeg ha skrevet den idag ville jeg skrevet den for PHP5 only, og med f.eks. glob(). Lenke til kommentar
Martin A. Skrevet 9. november 2008 Del Skrevet 9. november 2008 readdir() returnerer bare filnavnet, uten hele banen til filen, og man må derfor befinne seg i mappen for at is_file/is_dir/etc skal fungere. Tipper jeg. Lenke til kommentar
itsmebth Skrevet 9. november 2008 Del Skrevet 9. november 2008 $full_path = "$dir/$file"; Lenke til kommentar
Peter Skrevet 9. november 2008 Del Skrevet 9. november 2008 $full_path = "$dir/$file"; Antar jeg bare valgte en annen variant på den tiden da koden ble skrevet. Lenke til kommentar
qualbeen Skrevet 30. november 2008 Del Skrevet 30. november 2008 (endret) Kjedelig å se det postes så lite i denne tråden, så jeg tar på meg ansvaret med å vekke denne tråden til live igjen For et års tid siden lagde jeg en liten kjapp fil-visnings-greie. Ideéen er veldig simpel: Jeg angir hvilke filtyper som er tillatt å liste opp, og så genererer koden min en tre-visnings-sak i venstre del av skjermen, mens valgt fil vises på høyre side. Grunnen til at jeg lagde saken var rett og slett at jeg var svært misfornøyd med en filebrowser jeg lastet ned fra nettet. Scriptet er tilgjengelig på http://qualbeen.net/skole/?file=11 og hvis noen syns det er brukendes, så er det fritt frem til å bruke det, videreutvikle m.m... Fint om jeg blir gjort oppmerksom på eventuelle bug og/eller bugfix :-) NB: jeg var ikke kjempekjent med PHP da dette scriptet ble skrevet, så det er nok veldig mulig det kan optimaliseres og kodes langt penere. Jeg vet allerede at hvis man prøver å gå til en fil litt nede i hiearkiet med tom session, så kræsjer scriptet.. EDIT: Gjorde nettopp en hurtig liten fix: Ikke lenger mulig å oppgi parent-dir som parameter, mao ikke lenger mulig å bla seg ovenfor den katalogen scriptet ligger i. Merkelig at jeg ikke har sett den feilen tidligere, men men.. Endret 30. november 2008 av qualbeen Lenke til kommentar
mathias123 Skrevet 24. desember 2008 Del Skrevet 24. desember 2008 (endret) Et lite bidrag før pinnekjøttet skal fortæres: Har brukt en del tid på å skrive en skikkelig IMAP-wrapper som kan hente vedlegg. Snutten under brukes i CakePHP, men bør være brukbar så lenge du har PHP5. Disse metodene bruker et modifisert MIME-bibliotek fra en gammel versjon av Horde. Jeg fant disse i Eventum, MySQL sitt feilhåndteringssystem. De nye versjonene av Horde har gjort om på biblioteket og gjort det avhengig av en del fellesklasser. Uansett fungerer dette bra (ingen grunn til å endre kode som funker). De to filene må du hente hos MySQL: http://dev.mysql.com/downloads/other/eventum/ Du trenger filen som heter class.mime_helper.php og mime_decode.php. Sistnevnte ligger i mappen Mail/. Jeg kopierte disse til samme katalog og tilpasset include-setningen i mime_helper.php. Først må du opprette en tilkobling til en IMAP-innboks (det er også mulig å bruke POP) med PHP sin standard IMAP-klasse: // Koble til $mbox = imap_open($args, $user, $pass) or die ("fail"); // Hent antall meldinger $num = imap_num_msg($mbox); (Forutsetter at vi skal hente ut alle meldingene) while($num > 0) { // Hent meldinger $body = imap_body($mbox, $num); $header_struct = imap_headerinfo($mbox, $num); // Sett sammen meldingen // Nå kan du hente ut verdier fra headeren om du er interessert i å lage dette, dette er godt dokumentert i PHP-manualen //Her henter vi ut senderens navn og sender gjennom en av metodene i MIME-biblioteket som automagisk returnerer rett encoding uansett hva som sendes inn $mails['Mail']['from'] = Mime_Helper::fixEncoding($header2->from[0]->personal); //Her er det også en seksjon som behandler flere felter og setter disse inn i databasen, dette er utelatt. //Så behandler vi vedleggene. Denne metoden returnerer et array med alle vedleggene. $attachments_uprep = Mime_Helper::getAttachments($body); //Så kan vi kjøre dette arrayet gjennom en løkke for å formatere det for innsetting. Jeg har gjort dette gjennom en egen funksjon, men her er det vist gjennom en enkel foreach-løkke. $value = 0; foreach($attachments_uprep as $att): $attachment[$value]['File']['name'] = $att['filename']; $attachment[$value]['File']['size'] = strlen($att['blob']); $attachment[$value]['File']['data'] = $att['blob']; $attachment[$value]['File']['checksum'] = md5($att['blob']); $attachment[$value]['File']['type'] = $att['filetype']; $attachment[$value]['File']['mails_id'] = $this->Mail->id; $attachment[$value]['File']['erimportert'] = "FALSE"; $value++; enforeach; Du har nå et array med filer som er klart til å settes inn i en hvilken som helst database. God jul! Endret 24. desember 2008 av mathias123 Lenke til kommentar
AlecTBM Skrevet 2. januar 2009 Del Skrevet 2. januar 2009 (endret) I håp om at jeg ikke blir drept (igjen:)) så legger jeg ut et lite index script som jeg bruker. Kan jo nevnes at jeg brukte dette scriptet til å prøve ut klasser, så være snill på det feltet. index_config.php Klikk for å se/fjerne innholdet nedenfor <?php //Config klasse class config { var $img_size; var $img_dir; var $img_file; var $img_link; var $ignore; function values() { $this->img_size = '16px'; $this->img_dir = '<img src="/index/dir.png" alt="Dir" style="width: '.$this->img_size.'; height: '.$this->img_size.'; border: 0px;">'; $this->img_file = '<img src="/index/file.png" alt="File" style="width: '.$this->img_size.'; height: '.$this->img_size.'; border: 0px;">'; $this->img_link = '<img src="/index/link.png" alt="Link" style="width: '.$this->img_size.'; height: '.$this->img_size.'; border: 0px;">'; $this->ignore = array( 'index.php', 'index_config.php', 'index', 'phpmyadmin', 'apache2-default' ); } function list_files($hide=false) { $this->values(); $no = $this->ignore; $img_dir = $this->img_dir; $img_link = $this->img_link; $img_file = $this->img_file; $img_size = $this->img_size; if($hide != false) { if(!is_array($hide)) { array_push($no,$hide); } elseif(is_array($hide)) { foreach($hide as $entry) { array_push($no,$entry); } } } $folder = './'; $scan = scandir($folder); sort($scan); $b = 0; for($i = 2; $i < count($scan); $i++) { $file = $scan[$i]; if(is_dir($file) && !in_array($file, $no)) { echo '<p class="dir"><a class="dir" href="'.$folder.$file.'">'.$img_dir.$file."</a></p>\n"; } } unset($i); for($i = 2; $i < count($scan); $i++) { $file = $scan[$i]; if(is_link($file) && !in_array($file, $no)) { echo '<p class="link">'.$img_link.'<a class="link" href="'.$folder.$file.'">'.$file."</a></p>\n"; } elseif(is_file($file) && !in_array($file, $no)) { echo '<p class="file">'.$img_file.'<a class="file" href="'.$folder.$file.'">'.$file."</a></p>\n"; } } } } function dir_list($hide=false) { $conf = new config(); return $conf->list_files($hide); } $stil = '/index/stil.css'; //CSS fil ?> index.php (gjelder i alle mappene, bare å endre filbanen til index_config.php) Klikk for å se/fjerne innholdet nedenfor <?php if(@!include('index_config.php')) die('Fant ikke config filer!'); ?> <html> <head> <link rel="stylesheet" href="<?php echo $stil; ?>"> <title>Index</title> </head> <body> <?php $ignore = array ('secret_porn_folder','hot_stuff'); //Array eller string dir_list($ignore); ?> </body> </html> stil.css Klikk for å se/fjerne innholdet nedenfor body { font-family: Verdana; } a.dir { color: #555555; } a.link { color: #000000; font-style: italic; } a.file { color: #000000; } p { margin-top: 2px; margin-bottom: 2px; } a.se { color: #FF0000; } også har jeg brukt (Fra tango) i listinga Er fremdeles under utvikling, litt og litt Brukes her: http://alexander.no-ip.org/ Endret 2. januar 2009 av AlecTBM Lenke til kommentar
AlecTBM Skrevet 16. januar 2009 Del Skrevet 16. januar 2009 Lite aktivitet her, ingen som har forslag? Lenke til kommentar
itsmebth Skrevet 16. januar 2009 Del Skrevet 16. januar 2009 Lite aktivitet her, ingen som har forslag? Jeg holder på å skrive om et gammelt thumbnail-script (var originalt en enkelt fil) til en noe mer polert OOP-basert utgave, men for øyeblikket har jeg nok med å installere PDT 2.0 på Eclipse Ganymede. Lenke til kommentar
Wackamole Skrevet 16. januar 2009 Del Skrevet 16. januar 2009 Jeg vil komme med en anbefaling til folk som kanskje har et fint lite script, og det er cache script for output av design (css, markup, bilder etc.) - Det hadde vært kjekt ! Lenke til kommentar
Wackamole Skrevet 19. mai 2009 Del Skrevet 19. mai 2009 Var veldig lite koder i tråden - jeg er klar for litt krangling og diskusjon om php kode!! Er det ingen som har en eller annen nyttig kode, som jeg kan si mitt besyn på? Lenke til kommentar
emilkje Skrevet 15. juni 2009 Del Skrevet 15. juni 2009 Hei! Jeg vet at dette prosjektet ikke er helt oversiktlig da det er lenge siden jeg har jobbet med dette scriptet. Så da benytter jeg anledningen nå til å dele det med dere for at de som interesserte kan ta seg en titt og evt komme med forbedringer. =) Jeg ser at det er forferdelig behov for bedre strutur i koden.. Emil uploadscript.zip Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå