WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Göra en daemon till en websida (https://www.wn.se/forum/showthread.php?t=7801)

hultegard 2005-05-06 15:21

Hej för att spara kraft på min server vill jag göra en daemon som ligger o gör vissa förändringar i min databas. Dock så stötte jag på patrull ganska snabbt.

Websidan jobbar mot mysql så jag testade C api't

Nu så kommer problemet att mina C kunskaper är starkbegränsade
jag söker en motsvarighet till php's funktion explode

är det någon som vet en lösning på detta.
Går det inte i c så kanske c++ eller java.

Jag vill bara ha bort den osnygga lösningen att låta
en crontab köra typ lynx http://www.foo.bar/bla.php?sgs=2

zilda 2005-05-06 15:54

Nu svarar jag inte direkt på din fråga men..
Har du möjlighet att köra php som ett shellskript? Då kan du köra ditt nuvarande php skript direkt som ett cron jobb istället för din nuvarande lösning.

Tex: php -f bla.php

grazzy 2005-05-06 16:20

Hej, i C är det ett litet helvete, du kan använda strtok.
Jag har snart en tenta i c++ (igen ;)) så jag slängde ihop lite kod åt dig som troligen skulle må bra av att nån som faktiskt har en aning om vad de sysslar med tittar på den, men det verkar iaf funka :-)

Kod:

#include <string>
#include <vector>
#include <iostream>

using namespace std;
vector<string> explode(const string& split, const string& str) {
    vector<string> tmpvec;
    int pos,opos;
    pos = 0;
    opos = -split.size();
    do { 
        pos = str.find(split, opos+split.size());
        tmpvec.push_back(str.substr(opos+split.size(),(pos-split.size())-opos));
        opos = pos;
    } while (pos<str.size());
    return tmpvec;
}

int main () {
    string minstrang = "Hej och hå - detta är ett test";
    string split = " ";
    vector<string> minvec;

    minvec = explode(split, minstrang);

    for (vector<string>::iterator is(minvec.begin()); is<minvec.end(); is++) {
        std::cout << *is << std::endl;
    }
}

Tänk på att den här koden är Henrik Ponten-ware, så du måste skicka ett vykort där det står "vart är mina licenspengar?" på till Henrik Pontén om du använder den.

Koden är rätt självförklarande. Om du inte förstår den tycker jag du skall köpa en bok. De är dina vänner.

eg0master 2005-05-06 17:10

jag föreslår att du gör ett PHP script som du startar från shellet med jämna mellanrum.
Det är inget bra tips att du ger dig på at hacka lite C om du inte är väl förtrogen med det språket.

grazzy 2005-05-06 21:50

Personligen kör jag Perl eller möjligen Bash för allt sånt där. Som gud tänkte sig.


Alla tider är GMT +2. Klockan är nu 03:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson