Er zijn veel verschillende oplossingen voor jouw probleem. Je geeft een beetje weinig informatie over de configuratie waarop je draait; maar je zou bijvoorbeeld een PHP-script kunnen schrijven dat een bestand opent ala:quote:Op donderdag 12 oktober 2006 16:15 schreef profielnaam het volgende:
hoi, ik probeer een scriptje te maken dat elke 5 uur een bestand download van meerdere servers.
zelf heb ik een html file gemaakt dat om de zoveel tijd een pagina update, maar daarmee wordt 1. het bestand niet automatisch opgeslagen en 2. ik kan geen meerdere sites opgeven waarvan gedownload moet worden.
Ik zou ook willen dat het bestand alleen gedownload wordt als het niet gelijk is aan het bestaande bestand.
| 1 |
De snelste manier om te controleren of het bestand dat je wilt downloaden hetzelfde is dan je bestaande bestand is via md5()quote:Op donderdag 12 oktober 2006 16:15 schreef profielnaam het volgende:
hoi, ik probeer een scriptje te maken dat elke 5 uur een bestand download van meerdere servers.
zelf heb ik een html file gemaakt dat om de zoveel tijd een pagina update, maar daarmee wordt 1. het bestand niet automatisch opgeslagen en 2. ik kan geen meerdere sites opgeven waarvan gedownload moet worden.
Ik zou ook willen dat het bestand alleen gedownload wordt als het niet gelijk is aan het bestaande bestand.
waar kan ik zulke php code vinden ? of als iemand al een soortgelijk script heeft, zou dat geshared kunnnen worden ?
Dat is natuurlijk ontzettend nutteloos, omdat je voor md5file() eerst het bestand moet downloadenquote:Op donderdag 12 oktober 2006 16:51 schreef fate het volgende:
[..]
De snelste manier om te controleren of het bestand dat je wilt downloaden hetzelfde is dan je bestaande bestand is via md5(). Het hele bestand erdoor en controleren met je vorige md5() string. Dit gaat veel sneller dan het ganse bestand te vergelijken. Als het dan niet gelijk is; opnieuw downloaden.
| 1 2 3 | $array = array(0 => "iets", 1 => "nog iets", 4 => "anders nog iets?"); ?> |
| 1 2 3 4 5 6 7 | php if(count($array) == 0) $maximum = 0; else $maximum = ((int) (max(array_flip($array)))); ?> |
| 1 2 3 4 5 6 | if(count($array) == 0) $maximum = 0; else $maximum = ((int) (max(array_keys($array)))); ?> |
| 1 2 3 4 5 | $query = "SELECT l.session_stamp, l.tijd, l.ip_address FROM logged_in AS l WHERE l.user_id = '" . $id . "'"; ?> |
| 1 2 3 4 5 6 | $query = "SELECT l.tijd, l.ip_address FROM logged_in AS l INNER JOIN users AS u ON l.user_id = u.id WHERE l.session_stamp = '" . $sid . "' AND u.id = '" . $userid . "'"; ?> |
Ik gebruik verder nog geen dingen erbij, dit zijn de enige checks die ik uitvoer. Dus na de login wordt de data naar de DB geschreven, en dat wordt voortdurend gecontroleerd... Of ben ik nu té simpel bezig?quote:Mits je een sessionid-systeem maakt dat genoeg verschillende sessionid's kan genereren
Als je een session-systeem schrijft moet je iets hebben dat de session identificeert. Dit is in jouw geval de sessionidquote:Op zaterdag 14 oktober 2006 15:17 schreef SkaterSam het volgende:
Ok, ja je hebt inderdaad gelijk met de INNER JOIN, ik heb nog steeds niet echt de "feeling" om dat in een query te kunnen zetten, maar dat moet ik een beetje nog aanleren dus. Ik snapte alleen niet wat je hier mee bedoelde:
[..]
Ik gebruik verder nog geen dingen erbij, dit zijn de enige checks die ik uitvoer. Dus na de login wordt de data naar de DB geschreven, en dat wordt voortdurend gecontroleerd... Of ben ik nu té simpel bezig?
lig er aan: zijn het 20 query's zou ik gaan proberen ze zoveel mogelijk apart in een soort van array te zetten (die boven aan de pagina of in een ander bestand wordt gedefineerdquote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.quote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Miniem, maar een check is op z'n minst wel netjes. Als je je sessionid een PRIMARY KEY maakt wordt ie automatisch ook UNIQUE en dan krijg je een foutmelding terug als je een al bestaande session id probeert te inserten, dus daar zou je eventueel op kunnen checkenquote:Op zaterdag 14 oktober 2006 15:32 schreef SkaterSam het volgende:
Maar hoe vaak komt het voor dat dezelfde sessionid's worden gegenereerd @random? Het betreft trouwens nu nog een systeem waar maar enkele mensen op inloggen... Een stuk of 10 zeg maar, dan is die kans toch miniem...?
Op aanraden van Crazaay (geloof ik) heb ik eens naar CodeIgniter gekeken. Hiermee wordt het je behoorlijk makkelijk gemaakt om een cleane website te maken.quote:Op zaterdag 14 oktober 2006 16:09 schreef JeRa het volgende:
[..]
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.Zoiets kun je bewerkstelligen met Smarty.
Ja, maar dat zou dan moeten gebeuren als je inlogt, en niet nadat je al bent ingelogd.quote:Op zaterdag 14 oktober 2006 16:10 schreef JeRa het volgende:Miniem, maar een check is op z'n minst wel netjes. Als je je sessionid een PRIMARY KEY maakt wordt ie automatisch ook UNIQUE en dan krijg je een foutmelding terug als je een al bestaande session id probeert te inserten, dus daar zou je eventueel op kunnen checken
lege kolommen kan je toevoegen door een extra <td> in je tabel te zetten... gewoon geen data inzettenquote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
Ja dat doet die snippet van Piles ook, werkt inderdaad prima, behalve dat ik nu moet uitvinden hoe ik lege kolommen plak.
[..]
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
gebruik anders deze ` (dus naast het uitroepteken..) voor ieder getal, dan slikt Excel allesquote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
Aha, wel een goeie om te bookmarken.quote:Op zaterdag 14 oktober 2006 16:09 schreef JeRa het volgende:
[..]
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.Zoiets kun je bewerkstelligen met Smarty.
De afhandeling van CSV door Excel is behoorlijk brak. De voorloopnullen zijn er nog wel doorheen te krijgen, maar een string met een komma erin wordt opgesplitst in 2 cellen, zelfs als de string tussen "" staat. dat kan je weer oplossen door een tab als schijdingsteken te gebruiken en alle tabs in de strings door een spatie te vervangen.quote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
[..]
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
Uiteindelijk geniet het de voorkeur om als uitgangspunt het model 2 paradigma te nemen. Dat betekent onder andere dat je inderdaad dus geen enkele business code in je HTML plaatst. In plaats daarvan gebruik je een templating systeem, zoals JeRa met Smarty al aan heeft gegeven. Uiteraard hangt het af van de omvang van een website in hoeverre een dergelijke benadering echt noodzakelijk is. In ieder geval is het een goed uitgangspunt om je ontwikkel- en daarbij je abstractieniveau te verhogen wat zeker noodzakelijk is, wanneer je begint aan het ontwikkelen van webapplicaties.quote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Die kans mag dan wel miniem zijn, maar de kans is aanwezig en dat lijkt mij al voldoende om deze uit te sluiten. Stel dàt het gebeurt; dat wil je niet. Een oplossing kan dan zijn om middels een soort lus-systeem een random key te genereren, waarbij hij telkens blijft genereren totdat een key is gegenereerd welke nog niet voorkomt in de tabel. In 99% van de gevallen al de lus slechts één maal doorlopen worden, maar mocht er bij toeval toch een key worden gegenereerd die reeds bestaat, dan maakt ie weer een nieuwe.quote:Op zaterdag 14 oktober 2006 15:32 schreef SkaterSam het volgende:
Maar hoe vaak komt het voor dat dezelfde sessionid's worden gegenereerd @random? Het betreft trouwens nu nog een systeem waar maar enkele mensen op inloggen... Een stuk of 10 zeg maar, dan is die kans toch miniem...? En met AUTO_INCREMENT bedoel je als ik vanuit de DB een sessionid zou aanmaken?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |