NH
-
Innlegg
190 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av NH
-
-
Tok meg friheten til å skrive om scriptet ditt litt, er nå rekursivt
<?php $path_to_images = "bilder/"; $default_img = "sikkerhet.gif"; //ulovlige subfolders $deny_subfolder_names = array("private_bilder", "porr"); //legg til flere mapper om nødvendig, adskill med komma $images = array(); //initier et array, ønsker å bruke en global function getRandomImage($path, $img) { global $images; if (getImagesList($path) ) { mt_srand( (double)microtime() * 1000000 ); $num = array_rand($images); $img = $images[$num]; } return $path . $img; } function getImagesList($path) { global $images, $deny_subfolder_names; if ( $img_dir = @opendir($path) ) { while ( false !== ($img_file = readdir($img_dir)) ) { if ( preg_match("/(\.gif|\.jpg)$/", $img_file) ) { $images[] = $img_file; //en counter er unødvendig, dette klarer php selv } //legger til rekursivitet her: if(is_dir($img_file)){ //se etter ulovlige mapper if(!in_array($img_file, $deny_subfolder_names)){ //kjør samme metode engang til for undermappen getImagesList($path.$img_file."/"); } } } closedir($img_dir); return true;//vi returnerer kun true. } return false; } ?>
-
ikke glem funksjonen imagedestroy() hver gang du er ferdig med en variabel som inneholder en bilde kilde i php. om ikke kan minnet hope seg opp og bli mondre for hver gang.
det har nylig hvert en relativt stor tråd rundt dette emnet, annbefaler deg å lese mange av postene der. mye nyttig rundt temaet:
-
-
-
Bruk av script/programmer er tillatt så lenge bruken ikke medfører et urimelig stort ressursforbruk på maskinene, og at scriptene / programmene på ingen måte benyttes til å tilegne seg tilgang til andre filer eller informasjoner på maskinene enn kundens egne. Kunden bør vise hensyn til at alle systemressurser deles med øvrige kunder.
Tok kanskje litt hart i med stengingen, men de er nok ikke for fan av det. det avhenger jo hvor ofte cachen brukes, og hvor aktivt bruk opplastningen er...
-
Da web10.nu er en billighost med _mange_ brukere per server, tviler jeg sterkt på at de vil gå med på dette da serverene deres er overbelastede nok fra før av.
Om du i det hele tatt klarer å overstyre dette vil du høyst sansynlig fort merke at webhotellet ditt er borte og avtalen oppsagt da det er i mot retningslinjene demmes. Annbefaler at du leser disse. Selv om trafikken er ubegrenset er det kun snakk om innenfor rimelighetens grenser, og de er ikke glad i overbelastning av serverne, har selv vært i kontakt med deres kundeservice anngående dette da jeg selv har et galleri på deres servere...
Vil nok annbefale som nevnt tidligere at du legger inn en limit i scriptet ditt og manuelt resizer bilder til rundt 1024px...
-
dette går på oppsettet i PHP.ini denne må du endre. den er satt standard til 8MB som tillater bilder på maks 1280x1024 om jeg ikke husker feil...
-
har GODE erfaringer med servemyweb.no
Her er kundestøtten bra
cPanel med fantastico, cron jobs etc.
relativt billig. kr 15 pr måned får deres minste hotell (100MB, 1,5GB tranfer)
Annbefales!
-
laget en slik for et år siden eller noe til visning av en enkelt mappe..
sriptet legger alle bildene i et array og går gjennom idene i arrayet. du kan jo f.feks sortere arrayet etter navn på filer alfabetisk, eller på tid opprettet etc om ønskelig. er i allefall en start?
kode:
-
jeg har laget en klasse for uploading av bilder som legger en logo nederst i venstre hjørne på bildet. du kan jo kikke på det.
-
hvorfor ikke bare prøve?
men det er litt trøbbel med alpha kanalene i GD.
De fungerer ikke på bilder som er truecolor, er en bug i palettet i den nåværende vesionen av gd, men som sagt. er da bare å prøve. er fort gjort å lage en test på det....
-
koden din ser ut til å fungere som den skal. annbefalt:
lag deg en ny fil, f.eks gd.html å legg gd.php i en image tag slik:
<img src="gd.php" />
da er problemet med header borte
-
om du bruker ?session=false og henter ut dette med variabelen $session går du utifra at register globals står på, dette er ikke lenger standard i php. du må da bruke superglobalen $_SESSION som er et array med navnet på variabelen som id:
"$_SESSION['sesssion'] == false"
som sagt. les her:
http://no.php.net/manual/en/language.varia....predefined.php
allt om dette står der
-
som nevnt tidligere, er en smaksak, selv foretrekker jeg parantesene, og bruk av date_sub isgtedenfor en minus operator
-
hvorfor skulle det være lettere? I mine øyne er det ikke, kun mere uryddig, men er nok en smakssak. har du prøvd den?
-
Får å få satt dette på plass en gang for alle.
PHP er som kjent et Easy Typed språk. og skiller derfor mellom forskjellige variabel typer uten at programereren trenger å tenke så mye på det, men de fleste som driver med PHP på privat basis som mange av oss her, er ikke klar over at det i det hele tatt eksisterer forskjellige typer variabler. også i php.
fnutter som du kaller det skal brukes rundt det som kalles en "string" en string er en tekst lagret i variabelen, her brukes fnutter grunnet ofte ulovlige tegn, mellomrom, linjeskift, etc.
men det finnes også mangle flere typer. for å nervne noen:
boolean - true/false
long - desimaltall
double - desimaltall
int - heltall
disse skal ikke ha fnutter da det krever at php må regne ut hvem variabeltype du EGENTLIG skal bruke. fnutter er ikke noe vi bare gjetter på, eller prøver oss frem med.
-
jo, er det ikke det du ville da?
CURDATE() er dagens dato
DATE_SUB gir deg gitt dato i første parameter minus en viss interval. oversikten over tilgjengelige intervaller finner du i linken jeg ga deg.
Likeså kan du bruke DATE_ADD() om du vil legge på tid til en dato...
-
ops. sitter på datan til en kompis. glemte å logge på meg selv
-
GET er variabler du mottar i adressen til siden. ? forteller serveren at etter her defineres variabler. slik:
?variable=verdi
som hentes ut med php som vanlig:
$var = $_GET['variabel'];
ønskes flere variabler sent samtidig avskilles disse med et & tegn
?variabel1=verdi1&variabel2=verdi2
POST derimot er data mottatt fra en FORM, atlså må du ha en form rundt det, men det trenger ikke vises som en submit knapp:
<form name="skjema1" method="post" action="?variabel1=verdi1"> <input type="hidden" name="variabel2" value="verdi2" /> <a href="" onclick="this.submit()">link</a> </form>
med denne linken sendes variabel1 som en get (se action atributten i form taggen)
og variabel2 som en POST (se input taggen som er hidden, den vises altså ikke, duh )
(ikke 100% sikker på JS akkurat nå, men submit med tekstlink er i allefall ment)
er du usikker på om du mottar data som post eller get, eller noen ganger begge deler kan $_REQUEST benyttes
nyttig lesestoff
http://no.php.net/manual/en/language.varia....predefined.php
-
skal du laste opp hele filer inn i databasen er det å annbefale å bruke "rb" ikke kun "r"
you can also use 'b' to force binary mode, which will not translate your data -
dette kan fint gjøres i spøøringen din, sparer deg for noe resurser og ser mere ryddig ut:
SELECT _column_ from _table_ WHERE DATE_SUB(CURDATE(), INTERVAL 14 DAY) > _date_
der allt mellom _ og _ er en kolonne i databasen din, f.eks _date_ som er dato kolonnen din (selvfølgelig uten _ og _)
nyttig lesestoff:
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
-
Til resizing kan du bruke min ferdige klasse jeg har lagt ut på NWF i denne posten:
http://norskwebforum.no/viewtopic.php?t=22753
(Nic0, det er meg)
når det kommer til pagination er dette et tema som er tatt opp veldig mange ganger. Her er det ikke stort værre en å lage en liten formel:
et eksempel
<?php //åpne filen med informasjon om hvor bildene ligger og lagre disse i et array $images = file(bildeoversikt.txt); $itemsPerPage = 15; $currPage = ($_GET['page']) ? intval($_GET['page']) : 1; $start = $itemsPerPage*($currPage-1); $end = $itemsPerPage*($currPage-1) + $itemsPerPage; //hvis de 15 aktuelle bildene for($i = $start;$i<$end; $i++){ echo '<img src="'.$images[$i]['adress'].'" />"; } //beregn hvor mange sider det er utifra antall bilder totalt og hvis en link til hver enkelt side for($i = 1; $i<ceil(count($images)/$itemsPerPage);$i++){ printf('<a href="?page=%d"> | %d | </a>', $i, $i); } ?>
her er det snakk om å regne ut hvilke bilder i arrayet som skal vises. dette må selfølgelig tilpasses til _ditt_ system
-
Om Swing hadde brukt OSet sitt knapper og lignende ville det vel ikke lenger vært så OS nøytralt?
Alle medaljer har en bakside...
-
Jeg laget et lignende en gang, et script som generer et bilde utifra en streng lagret i en session. Selve settingen av sessionen og sjekkingen om den stemmer senere må du nok lage selv:
http://norskwebforum.no/viewtopic.php?p=157435#157435
(jeg er nic0)
Vise bensinpriser nå! How?
i Programmering og webutvikling
Skrevet
Hellkeepa på NWF hadde et godt svar på dette. se hans inlegg i "ofte spurte spørsmål" tråden på NWF her:
http://norskwebforum.no/viewtopic.php?p=157327#157327