abonnement Unibet Coolblue Bitvavo
  dinsdag 28 april 2009 @ 19:25:22 #181
87680 Mirel
Mirel wil een bongophone.
pi_68471049
HiHi
When all else fails, you always have delusion.
  dinsdag 28 april 2009 @ 19:25:42 #182
187069 slacker_nl
Sicko pur sang
pi_68471060
quote:
Op dinsdag 28 april 2009 17:07 schreef GlowMouse het volgende:

[..]
[ code verwijderd ]


[ code verwijderd ]

Juist doordat je zelf de dag opgeeft, kan het niet foutgaan.
Het gaat fout, aangezien je rekening wilt houden met DST, UTC kent dat probleem niet, als je werkt met UTC kan je daarna de dag omzetten naar je lokale tijd. Hoef je helemaal geen rekening te houden met DST.

Een cronjob die elke dag om 12 uur draait zal door DST ook een dag kennen van 23 of 25 uur. Dat jij nu gelijke data krijgt is dus gewoon niet goed. die datum is verschillend in UTC en in CET, in het bovenstaande geval klopt het dus gewoon niet.
In theory there is no difference between theory and practice. In practice there is.
pi_68471914
Ik ga het maar eens anders doen...


Ik heb 2 arrays.
1
2
3
<?php
$a=array('/file.php','index.php',/css/style.css')
$b=array('file.php','/css/')


Array $a is een array met alle files op mijn server
Array b is de array van verboden bestanden uit robots.txt

Nu wil ik graag dat alle bestanden/paden die in robots.txt voorkomen uit de array met bestanden worden gehaald.
Als ik deroot-dir scan wil ik dat bestanden/paden die in de verboden array voorkomen niet gescand worden. Die dienen te worden overgeslagen.

De eerste (doorgestreepte) optie betekent dubbel werk. Het zou wel kunnen.

Hoe kan ik dit het beste oplossen?
Ik zou met array_intersect() iets kunnen doen. Logischer is kijken of het bestand/pad voorkomt in de "verboden" array. Zo ja, niet opnemen in uiteindelijke array.

Hoe kan ik dit het beste doen?

(Het is een petit peu venijnig: '/css/' is een verboden directory. ALLE onderliggende bestanden/directory's zijn daarmee ook verboden.
pi_68482700
quote:
Op dinsdag 28 april 2009 16:53 schreef GlowMouse het volgende:

[..]


Ericjuh: kijk eens naar caching headers. Ook de Content-Length-header ontbreekt bij jou. Waarom gebruik je ook geen readfile, maar maak je een hele nieuwe jpeg?
1
2
3
4
5
6
7
8
<?php
// Content type
header('Content-type: image/jpeg');
header('Content-Description: Picture');
header('Content-Length: ' filesize($filename));

readfile($filename);
?>


dit ging eigenlijk wel heel makkelijk Keb nooit van het commando gehoord en ben daarom heel verrast dat het zo simpel kan. Dacht idd dat de enige optie was om de afbeelding opnieuw te maken.

Wat betreft de headers.. zijn er headers die belangrijk zijn en die ik bij het voorbeeld mis? Als ik naar een plaatje van tinypic ga en ik open er één, zoals: http://i39.tinypic.com/28k0ggg.jpg. Als ik dan op f5 blijf drukken dan zie ik dat het plaatje niet weer gedownload word.. tenminste, ik verbruik alleen dataverkeer als ik het plaatje de eerste keer open. Daarna kan ik zo vaak op f5 drukken, maar er komt geen dataverkeer binnen. Ook lijkt het net of het plaatje niet opnieuw geladen word. Als ik bij mijn plaatje dat doe dan kan ik makkelijk een halve MB per seconden downloaden en ververst het plaatje zich bij elke druk op f5. Ik heb het gevoel dat ik daarom iets mis aan de headers (volgens mij Cache-Control).

Voorbeeld van afbeelding die op mijn server staat (druk regelmatig op f5 en check je binnen komende dataverkeer): http://www.sharestuff.nl/img/psjwmlsp/afbeelding_test.JPG

[off-topic]
trouwens best een grappig commando. Zie dat je hierdoor ook pdf kunt uitvoeren en downloadsnelheid kunt aanpassen.

[ Bericht 28% gewijzigd door Ericjuh op 29-04-2009 00:32:45 ]
Dit keer zonder signature
  woensdag 29 april 2009 @ 00:36:31 #185
75592 GlowMouse
l'état, c'est moi
pi_68484022
Als je kijkt met een tool als Wireshark of een FF-plugin als Live HTTP Headers dan zie je dat tinypic deze headers meestuurt: "Expires: Tue, 05 May 2009 22:34:32 GMT" en "Cache-Control: max-age=604800".

beerten: ik denk dat je voor iedere url de volledige robots.txt-regels moet doorlopen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_68485384
quote:
Op woensdag 29 april 2009 00:36 schreef GlowMouse het volgende:
Als je kijkt met een tool als Wireshark of een FF-plugin als Live HTTP Headers dan zie je dat tinypic deze headers meestuurt: "Expires: Tue, 05 May 2009 22:34:32 GMT" en "Cache-Control: max-age=604800".


tnx! dit was de info die ik zocht! Zal het morgen ff proberen. Je hoort van mij!
Dit keer zonder signature
  woensdag 29 april 2009 @ 09:58:30 #187
85514 ralfie
!Yvan eht nioj
pi_68488786
quote:
Op dinsdag 28 april 2009 19:48 schreef beerten het volgende:
Ik ga het maar eens anders doen...


Ik heb 2 arrays.
[ code verwijderd ]

Array $a is een array met alle files op mijn server
Array b is de array van verboden bestanden uit robots.txt

Nu wil ik graag dat alle bestanden/paden die in robots.txt voorkomen uit de array met bestanden worden gehaald.
Als ik deroot-dir scan wil ik dat bestanden/paden die in de verboden array voorkomen niet gescand worden. Die dienen te worden overgeslagen.

De eerste (doorgestreepte) optie betekent dubbel werk. Het zou wel kunnen.

Hoe kan ik dit het beste oplossen?
Ik zou met array_intersect() iets kunnen doen. Logischer is kijken of het bestand/pad voorkomt in de "verboden" array. Zo ja, niet opnemen in uiteindelijke array.

Hoe kan ik dit het beste doen?

(Het is een petit peu venijnig: '/css/' is een verboden directory. ALLE onderliggende bestanden/directory's zijn daarmee ook verboden.
ik neem aan dat je je directories indexeert met een recursieve functie / loop ? Dan kun je daarin toch checken of het bestand in die array staat vóór je hem gaat recursiveren of in de resultaten gooit? Waar zit anders je probleem?
pi_68488827
Ik heb een googleprobleempje met een website.. Ik heb in het verleden een website gebouwd voor 4 bedrijven onder dezelfde groep. Deze website toont eerst een splashpage waar je een van de 4 bedrijven kunt kiezen. Dit heeft effect op de kleuren van de website, en dingen zoals de adresgegevens die uniek zijn per bedrijf. Deze keuze wordt opgeslagen in een cookie. So far so good. Een aantal maanden later blijkt dat google nog steeds die website niet geindexeerd heeft op de splashpage na. Dom natuurlijk dat ik dacht dat dat zou werken, want google doet niks met cookies en komt dus telkens weer op de splashpage terug. Zoals ik het zie heb ik nu de volgende opties:
- Een databasetabel met IP + bedrijfskeuze. Slechte oplossing, want mensen vanuit een bedrijfsnetwerk hebben vrijwel altijd hetzelfde externe IP en dus geen vrije keuze
- De keuze in de URL neerzetten. Kost me veel werk om dit in dit stadium nog om te bouwen, daarnaast niet persistent
- Google IP-ranges om de tuin leiden door voor die adressen al een kleurenschema te kiezen. Slechte oplossing, want blackhat SEO is bad, mkay?

Ik kom even niet verder dan dit met denken.. Zijn er andere mogelijkheden? Bij ieder bezoek opnieuw het kleurenschema kiezen is onwenselijk, het moet wel persistent wezen..
  woensdag 29 april 2009 @ 10:04:06 #189
4159 GI
Nee ik heet geen JOE
pi_68488944
1
2
3
<?php
$_SERVER
['HTTP_USER_AGENT'];
?>

Bij google is dat : Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)

Bij het openen van de pagina door een googlebot-useragent het kleurschema laten kiezen.
pi_68489012
quote:
Op woensdag 29 april 2009 09:59 schreef Intrepidity het volgende:
Ik heb een googleprobleempje met een website.. Ik heb in het verleden een website gebouwd voor 4 bedrijven onder dezelfde groep. Deze website toont eerst een splashpage waar je een van de 4 bedrijven kunt kiezen. Dit heeft effect op de kleuren van de website, en dingen zoals de adresgegevens die uniek zijn per bedrijf. Deze keuze wordt opgeslagen in een cookie. So far so good. Een aantal maanden later blijkt dat google nog steeds die website niet geindexeerd heeft op de splashpage na. Dom natuurlijk dat ik dacht dat dat zou werken, want google doet niks met cookies en komt dus telkens weer op de splashpage terug. Zoals ik het zie heb ik nu de volgende opties:
- Een databasetabel met IP + bedrijfskeuze. Slechte oplossing, want mensen vanuit een bedrijfsnetwerk hebben vrijwel altijd hetzelfde externe IP en dus geen vrije keuze
- De keuze in de URL neerzetten. Kost me veel werk om dit in dit stadium nog om te bouwen, daarnaast niet persistent
- Google IP-ranges om de tuin leiden door voor die adressen al een kleurenschema te kiezen. Slechte oplossing, want blackhat SEO is bad, mkay?

Ik kom even niet verder dan dit met denken.. Zijn er andere mogelijkheden? Bij ieder bezoek opnieuw het kleurenschema kiezen is onwenselijk, het moet wel persistent wezen..
Optie 2 is denk ik het beste. Niet iedereen gebruikt immers cookies.
Trotse poster van het 37000000ste bericht ^O^
pi_68489013
quote:
Op woensdag 29 april 2009 10:04 schreef GI het volgende:

[ code verwijderd ]

Bij google is dat : Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)

Bij het openen van de pagina door een googlebot-useragent het kleurschema laten kiezen.
Is blackhat SEO, gaan we niet doen
  woensdag 29 april 2009 @ 10:21:16 #192
4159 GI
Nee ik heet geen JOE
pi_68489448
quote:
Op woensdag 29 april 2009 10:06 schreef Intrepidity het volgende:

[..]

Is blackhat SEO, gaan we niet doen
Blackhat SEO is open voor defenitie naar mijn mening. Je bent bezig met Search Engine Optimizing. Zorgen dat er dingen daadwerkelijk gevonden worden door langs de opening pagina heen te werken lijkt mij eigenlijk helemaal niks mis mee. FOK! doet hetzelfde, omdat de googlebot geen javascript aankan krijgt de googlebot (en andere search engines) standaard de text only layout met zich mee.

Imho heb je pas te maken met Blackhat SEO als je daadwerkelijk andere informatie gaat tonen voor de googlebot. Terwijl je in dit geval alleen de informatie beschikbaar maakt.
pi_68489578
Ja maar dat zal google zijn reet roesten.. Zo af en toe gebruiken ze een andere user agent om te testen of jij andere content aan googlebot aflevert. Als google met een andere user agent ineens wel de splashpagina krijgt in plaats van de standaardlayout lig je uit de index..
  woensdag 29 april 2009 @ 10:35:25 #194
85514 ralfie
!Yvan eht nioj
pi_68489948
in de url zetten is de beste optie denk ik. Ik neem aan dat elk van die bedrijven toch ook wel eens een url wil uitgeven in de zin van 'bezoek ons een op www.onsbedrijf.nl'. Lijkt me dat wel zo professioneel om dat niet eerst nog in een splashpagina te moeten kiezen welk bedrijf de bezoeker nou moet hebben. Al is het maar een subdirectory 'www.onzebedrijven.nl/bedrijf1' is dan toch al een stuk beter... zelfs al gaat het maar om subbedrijfjes.
pi_68490184
quote:
Op woensdag 29 april 2009 10:35 schreef ralfie het volgende:
in de url zetten is de beste optie denk ik. Ik neem aan dat elk van die bedrijven toch ook wel eens een url wil uitgeven in de zin van 'bezoek ons een op www.onsbedrijf.nl'. Lijkt me dat wel zo professioneel om dat niet eerst nog in een splashpagina te moeten kiezen welk bedrijf de bezoeker nou moet hebben. Al is het maar een subdirectory 'www.onzebedrijven.nl/bedrijf1' is dan toch al een stuk beter... zelfs al gaat het maar om subbedrijfjes.
Ze hebben allen eigen domeinen, maar die verwijzen wel naar het hoofddomein en dus naar de splashpage.. Wens van de klant, zo is het nou eenmaal
pi_68500682
Ik heb een website, compleet in HTML, maar ik gebruik PHP voor htmltop en htmlbottom. De <title> staat dus in de htmltop. Maar die wil ik aanpassen aan de pagina, die verschilt.

Zo ziet een bestandje er bij mij dus uit:

<?php include("htmltop.php"); ?>
<h1>Home</h1>
<p>inhoud</p>
<?php include("htmlbottom.php"); ?>

Weet iemand een manier om die title steeds met het bestandje te veranderen?
pi_68500922
1
2
3
4
<?php
$titel 
'De titel';
include(
"htmltop.php");
?>


In htmltop.php kun je vervolgens dit doen:

1<title><?php echo $titel; ?></title>
pi_68516358
quote:
Op woensdag 29 april 2009 09:58 schreef ralfie het volgende:

[..]

ik neem aan dat je je directories indexeert met een recursieve functie / loop ? Dan kun je daarin toch checken of het bestand in die array staat vóór je hem gaat recursiveren of in de resultaten gooit? Waar zit anders je probleem?

PRECIES!!!!!!!!

Maar dat lut dus niet... Ik moet bij het indexeren kijken of het bestand/het pad in de "verboden" array voorkomt. in_array(). en precies daar gaat het mis.
Het idee zoals onderstaand.
1
2
3
4
if(!in_array($pad, $verboden_array))
 {
  $file_array[]=$pad;
 }

En daar gaat ergens iets fout. Ik krijg het niet voor elkaar. Ik had het met mijn stuk code reeds opgegeven en het feitelijke probleem gepost. de oplossing die je aandraagt is qua principe gelijk aan de methode die ik poogde te hanteren.

Ik kan uit je antwoord concluderen dat de insteek correct is, alleen laat mijn uitvoering te wensen over. Maar ik zie de oplossing niet...


Ik heb je suggestie nog eens overwogen. Vanaf nul, van voren af aan.
Het is inderdaad zo simpel. Ik had mijn check op een verkeerde plek in de functie. Ook waren er eenkele foutjes met declaraties van arrays. Foutjes, weet ik eigenlij niet. Heb een en ander veranderd en nu werkt het.

Ik zie nu in een oogopslag welke bestanden en directory's indexeerbaar zijn voor een zoekmachine.
Nu nog de pagina's doorzoeken, analyseren, links crawlen en ook die dooorzoeken en indexeren. Maar dat mechanisme/die scripts heb ik reeds. Die gebruik ik voor het aanmaken van sitemaps.
Thnx!

[ Bericht 19% gewijzigd door beerten op 30-04-2009 00:23:02 ]
pi_68516585
quote:
Op woensdag 29 april 2009 15:33 schreef hello_moto1992 het volgende:
Ik heb een website, compleet in HTML, maar ik gebruik PHP voor htmltop en htmlbottom. De <title> staat dus in de htmltop. Maar die wil ik aanpassen aan de pagina, die verschilt.

Zo ziet een bestandje er bij mij dus uit:

<?php include("htmltop.php"); ?>
<h1>Home</h1>
<p>inhoud</p>
<?php include("htmlbottom.php"); ?>

Weet iemand een manier om die title steeds met het bestandje te veranderen?
Heel kort getikt komt het hier op neer. Ik gebruik zoiets op mijn sites, werkt uitstekend. Je kan zelfs de metatags variabel maken, indexering door zoekmachines etc.


htmltop.php
1
2
3
4
5
<head>
<html>
<title><php print $title?></title>
</head>
<body>


bottom.php

htmltop.php
1
2
</body>
</html>


De pagina zelf
1
2
3
4
5
6
7
8
9
<?php
$title='De titel van de pagina';
include("htmltop.php");
?>
<h1>koptext</h1>
<p>De inhoud van de pagina</p>
<?php
include("htmlbottom.php");
?>
  donderdag 30 april 2009 @ 11:03:52 #201
84926 WyriHaximus
Release the hounds smithers!
pi_68523225
quote:
Op donderdag 30 april 2009 03:38 schreef Mordreth het volgende:
[ afbeelding ]

So true.
Zo true dat ik hem naast me deur op de muur geplakt heb op kantoor .
phluphy for president!
pi_68525864
quote:
Op donderdag 30 april 2009 11:03 schreef WyriHaximus het volgende:

[..]

Zo true dat ik hem naast me deur op de muur geplakt heb op kantoor .
Dat is ook het eerste wat ik maandag ga doen .
pi_68555115
Een vraagje over een query:

1
2
3
DELETE FROM `stats_online`
WHERE stat_id = '" . $statID . "' AND
(UNIX_TIMESTAMP(lastdate) + 60*15) < UNIX_TIMESTAMP(NOW())


tabel gegevens:
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `stats_online` (
  `stat_id` int(10) unsigned NOT NULL,
  `ip` int(10) unsigned NOT NULL,
  `lastdate` timestamp NULL default '0000-00-00 00:00:00',
  UNIQUE KEY `stat_id` (`stat_id`,`ip`),
  KEY `lastdate` (`lastdate`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Kan ik deze verbeteren? of is mijn query juist?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 1 mei 2009 @ 13:11:40 #204
75592 GlowMouse
l'état, c'est moi
pi_68556084
Een functie van een veld kan niet geïndexeerd worden. Kijk daarnaast eens naar of het wel nodig is of er naast een index op stat_id wel aanleiding is voor een extra index, en zoja, kijk naar hoe je indexen combineert.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 1 mei 2009 @ 15:11:31 #205
85514 ralfie
!Yvan eht nioj
pi_68559376
quote:
Op vrijdag 1 mei 2009 12:35 schreef Chandler het volgende:
Een vraagje over een query:
[ code verwijderd ]

tabel gegevens:
[ code verwijderd ]

Kan ik deze verbeteren? of is mijn query juist?
het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
pi_68559559
quote:
Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:

[..]

het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.
pi_68561301
quote:
Op vrijdag 1 mei 2009 13:11 schreef GlowMouse het volgende:
Een functie van een veld kan niet geïndexeerd worden. Kijk daarnaast eens naar of het wel nodig is of er naast een index op stat_id wel aanleiding is voor een extra index, en zoja, kijk naar hoe je indexen combineert.
De inserts gaan allemaal aardig snel, maar voornamelijk zit het hem in de unix_timestamp conversie
quote:
Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:
het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
Tja dat is inderdaad een handig idee. Zal eens kijken of deze stamps gelijk zijn.
quote:
Op vrijdag 1 mei 2009 15:18 schreef Light het volgende:
Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.
Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_68562977
quote:
Op vrijdag 1 mei 2009 16:19 schreef Chandler het volgende:

Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..
Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.
pi_68612389
quote:
Op woensdag 29 april 2009 15:39 schreef HuHu het volgende:

[ code verwijderd ]

In htmltop.php kun je vervolgens dit doen:
[ code verwijderd ]


Late reactie, maar bedankt voor je antwoord
pi_68646937
quote:
Op vrijdag 1 mei 2009 17:07 schreef Light het volgende:

[..]

Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.
Klopt maar toch kan deze query nog steeds aardig wat tijd in beslag nemen, maar ik denk dat ik maar eens de unix_timestamp moet gaan aanpakken, deze kost namelijk het meeste tijd
The people who lost my respect will never get a capital letter for their name again.
Like trump...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')