Moet gewoon kunnen: http://php.net/manual/en/function.fread.phpquote:Op woensdag 9 juli 2014 16:32 schreef Tijn het volgende:
[..]
Hoe bedoel je "waar verwijst die resource naar"?
Met fread() en fwrite() kun je files openen en schrijven, maar het lijkt erop dat je alleen met strings kunt werken. Ik wil de (binaire) data die in m'n resource zit naar een file schrijven, maar ik weet niet hoe ik bij deze data kan komen.
Hoe dan? Ik kan wel een file openen met fread() natuurlijk, maar hoe krijg ik de inhoud van de resource die met m'n library is gemaakt dan in de file?quote:Op woensdag 9 juli 2014 16:39 schreef raptorix het volgende:
[..]
Moet gewoon kunnen: http://php.net/manual/en/function.fread.php
Als je dat op een plek zet die niet direct leesbaar is ook.quote:Op woensdag 9 juli 2014 16:36 schreef raptorix het volgende:
[..]
Omdat je dan bij eventuele changes in de naam van de config, of de manier waarop je je config wilt lezen je het maar op plek hoeft aan te passen.
Of de resource bijvoorbeeld verwijst naar de inhoud van een bestand. Fread leest namelijk vanuit een resource. Wat gebeurt er precies in die library? Hoe wordt die resource precies aangemaakt?quote:Op woensdag 9 juli 2014 16:32 schreef Tijn het volgende:
[..]
Hoe bedoel je "waar verwijst die resource naar"?
Met fread() en fwrite() kun je files openen en schrijven, maar het lijkt erop dat je alleen met strings kunt werken. Ik wil de (binaire) data die in m'n resource zit naar een file schrijven, maar ik weet niet hoe ik bij deze data kan komen.
De library is pHash (http://www.phash.org). Ik gebruik ph_audiohash() om van een audiofile een hash te maken, zodat ik die kan gebruiken in ph_audio_dist(). Deze laatste functie vergelijkt twee hashes met elkaar om te kijken of twee geluidsfragmenten op elkaar lijken of niet.quote:Op woensdag 9 juli 2014 16:42 schreef bondage het volgende:
[..]
Of de resource bijvoorbeeld verwijst naar de inhoud van een bestand. Fread leest namelijk vanuit een resource. Wat gebeurt er precies in die library? Hoe wordt die resource precies aangemaakt?
En wat krijg je als je die resource meegeeft aan fread en dat echo't?quote:Op woensdag 9 juli 2014 16:45 schreef Tijn het volgende:
[..]
De library is pHash (http://www.phash.org). Ik gebruik ph_audiohash() om van een audiofile een hash te maken, zodat ik die kan gebruiken in ph_audio_dist(). Deze laatste functie vergelijkt twee hashes met elkaar om te kijken of twee geluidsfragmenten op elkaar lijken of niet.
ph_audiohash() geeft een resource terug van het type "ph_audio_hash". De inhoud daarvan wil ik naar een file schrijven. Maar ik weet niet hoe ik bij die (binaire) data kan komen, want als ik "echo $resource" doe, krijg ik alleen maar "Resource id #4" te zien.
Dan krijg ik een fout: "fread(): supplied resource is not a valid stream resource"quote:Op woensdag 9 juli 2014 17:08 schreef bondage het volgende:
[..]
En wat krijg je als je die resource meegeeft aan fread en dat echo't?
Klopt idd, was meer benieuwd wat je eruit terug zou krijgen. En die lib heeft geen ingebouwde functie om de resource te lezen? Er is trouwens ook nog een functie stream_get_contents, geen idee of dat enig effect heeft maar je kunt altijd proberen.quote:Op woensdag 9 juli 2014 17:17 schreef Tijn het volgende:
[..]
Dan krijg ik een fout: "fread(): supplied resource is not a valid stream resource"
Logisch, want hij verwacht een file system pointer resource zoals fopen() die maakt, en ik geef 'm een ph_audio_hash resource.
stream_get_contents() werkt ook niet, want m'n resource is geen streamquote:Op woensdag 9 juli 2014 17:25 schreef bondage het volgende:
[..]
Klopt idd, was meer benieuwd wat je eruit terug zou krijgen. En die lib heeft geen ingebouwde functie om de resource te lezen? Er is trouwens ook nog een functie stream_get_contents, geen idee of dat enig effect heeft maar je kunt altijd proberen.
Tuurlijk niet.quote:Op woensdag 9 juli 2014 13:59 schreef Tijn het volgende:
[..]
Precies. Als mensen het script kunnen lezen en uitvoeren, kunnen ze ook de config lezen, want anders kan het script de config ook niet lezen.
1 2 3 4 5 6 7 8 9 10 11 12 13 | -rw------- 1 www-data mijnuser 34 jul 9 18:39 config.txt -rwxrwxr-x 1 mijnuser mijnuser 37 jul 9 18:42 x.sh $ cat config.txt cat: config.txt: Permission denied $ cat x.sh #!/usr/bin/env zsh cat ./config.txt $ sudo -u www-data ./x.sh dit is niet leesbaar voor anderen |
Het punt is denk ik dat de persoon in kwestie geen eigen user account heeft en degene gebruikt die ook door z'n collega's gebruikt worden. Daarom is alles wat leesbaar is voor hem ook leesbaar voor de rest.quote:Op woensdag 9 juli 2014 18:44 schreef slacker_nl het volgende:
[..]
Tuurlijk niet.
[ code verwijderd ]
En anders moet je aan de slag met setuid: http://php.net/manual/en/function.posix-setuid.php en/of http://goodworkaround.com/node/39
En dat is dus stom en moet je niet willen. Punt.quote:Op woensdag 9 juli 2014 18:52 schreef Tijn het volgende:
[..]
Het punt is denk ik dat de persoon in kwestie geen eigen user account heeft en degene gebruikt die ook door z'n collega's gebruikt worden. Daarom is alles wat leesbaar is voor hem ook leesbaar voor de rest.
Tsja. Ik heb de situatie ook niet bedacht, he.quote:Op woensdag 9 juli 2014 18:53 schreef slacker_nl het volgende:
[..]
En dat is dus stom en moet je niet willen. Punt.
Jawel, want je speculeert eroverquote:Op woensdag 9 juli 2014 18:55 schreef Tijn het volgende:
[..]
Tsja. Ik heb de situatie ook niet bedacht, he.
Das waar. Maar goed, als die kerel z'n eigen user account heeft, is het inderdaad op te lossen. Anders niet, dan kun je het hooguit obfusceren.quote:
1 2 3 4 5 6 7 8 | public function test(){ global $test; $test = 'lalala'; } public function test2(){ echo $test; } |
1 2 3 4 5 6 7 8 | public function test(){ $test = 'lalala'; global $test; } public function test2(){ echo $test; } |
Bij het definieren op regel 2 vind ie geen global en maakt ie dus een var binnen de functie aan. Vervolgens defineer je een global var op regel 3 en die kijkt niet of je binnen de functie een var hebt met dezelfde naam.quote:Op vrijdag 11 juli 2014 10:00 schreef Robuustheid het volgende:
[ code verwijderd ]
Dit werkt.
Waarom werkt het niet, als je na initialisatie van var test pas verklaart dat dezelfde var een global variabele is? De logica ervan ontgaat mij. De variabele $test is toch
beschikbaar om als global gedefinieerd te worden
[ code verwijderd ]
Geen output.
Maak een local aan in het object zelf! Dus binnen een klasse. (omdat hij dat andere mogelijk niet kent). en vervolgens roep je het aan vanuit het object zelf.quote:Op vrijdag 11 juli 2014 10:21 schreef Maringo het volgende:
[..]
Bij het definieren op regel 2 vind ie geen global en maakt ie dus een var binnen de functie aan. Vervolgens defineer je een global var op regel 3 en die kijkt niet of je binnen de functie een var hebt met dezelfde naam.
Maar buiten dit, waarom een global var?
Je kan een print css maken, die de styling van de pagina aanpast.quote:Op vrijdag 11 juli 2014 16:50 schreef pascal08 het volgende:
Ik wil 2 dynamische tabellen printbaar maken. Dat betekent dat de inhoud zich dus moet aanpassen aan de breedte van de pagina (of dat de tabellen een vaste breedte hebben, wat erg lastig is omdat ze dynamisch zijn en dus van breedte kunnen verschillen). De tabellen hoeven niet per se op dezelfde pagina. Zolang de tabellen maar niet halverwege in een rij worden afgebroken of in de breedte worden verdeeld over 2 pagina's is het prima.
Ik dacht zelf aan het creëren van een PDF met php en die vervolgens printbaar maken met een plugin zoals Crocodoc ofzo. Heel omslachtig lijkt mij, maar ik kan zelf niet op een simpele, doeltreffende oplossing komen.
Iemand een idee?
De tabellen zien er ongeveer zo uit (maar vaak dus met aanzienlijk meer informatie):
[ afbeelding ]
Jep.quote:Op vrijdag 11 juli 2014 23:24 schreef d4v1d het volgende:
Steeds checken wat de tijd is en als het 2 minuten later is dan de vorige keer het uitvoeren?
proces forken en dan je child laten sleepen?quote:Op vrijdag 11 juli 2014 23:24 schreef d4v1d het volgende:
Ik heb een IRC bot met een while loop die het socket leest. Nu wil ik elke 2 minuten iets laten uitvoeren binnen die while loop. Sleep is geen optie omdat dan de verbinding wordt verbroken (er moet een soort van keep alive worden verzonden tussen de IRC bot en de IRC server). Wat is de beste manier om dit te doen? Steeds checken wat de tijd is en als het 2 minuten later is dan de vorige keer het uitvoeren?
ooit eens geprobeerd voor een ander iets. Nooit geluktquote:Op zaterdag 12 juli 2014 00:12 schreef slacker_nl het volgende:
[..]
proces forken en dan je child laten sleepen?
Precies het zetje in de goede richting. Thanksquote:Op vrijdag 11 juli 2014 18:19 schreef TwenteFC het volgende:
[..]
Je kan een print css maken, die de styling van de pagina aanpast.
Zit net dit te lezen..quote:Op zaterdag 12 juli 2014 00:16 schreef d4v1d het volgende:
[..]
ooit eens geprobeerd voor een ander iets. Nooit geluktIk ga liever voor de makkelijke manier
Wanneer dit praktisch nuttig is op een normale webpagina kan ik nog niet begrijpen maar voor een IRC botje is dit best grappig. Dat het met Java kon wist ik al maar met PHP?quote:Op zaterdag 12 juli 2014 00:20 schreef slacker_nl het volgende:
[..]
Zit net dit te lezen..
http://www.tuxradar.com/practicalphp/16/1/3
bestaat al sinds 4.1 maar niet echt mee te werken. Voorbeeldje, als je in 1 proces een database query uitvoert, heeft het andere proces deze wijziging niet.quote:Op maandag 14 juli 2014 16:08 schreef cablegunmaster het volgende:
[..]
Wanneer dit praktisch nuttig is op een normale webpagina kan ik nog niet begrijpen maar voor een IRC botje is dit best grappig. Dat het met Java kon wist ik al maar met PHP?Dat is weer iets geheel nieuws! Leuke ontwikkeling.
Dat is logisch , dat wil je eigenlijk ook niet. Je zal het erna opnieuw moeten opvragen voor je het hebt, anders krijg je inconsistentie van gegevens. Processen weten niet van elkaar wat ze gedaan hebben maar de rows zelf moeten vrij toegankelijk zijn.quote:Op maandag 14 juli 2014 16:24 schreef remi1986 het volgende:
[..]
bestaat al sinds 4.1 maar niet echt mee te werken. Voorbeeldje, als je in 1 proces een database query uitvoert, heeft het andere proces deze wijziging niet.
Dat is ook niet hoe je een multithreaded applicatie moet bouwen. Een thread heeft een duidelijke verantwoordelijkheid en dat informatie gescheiden is tussen threads is juist goed, zodat niet de ene thread data kan aanpassen waar de andere thread mee bezig is.quote:Op maandag 14 juli 2014 16:24 schreef remi1986 het volgende:
[..]
bestaat al sinds 4.1 maar niet echt mee te werken. Voorbeeldje, als je in 1 proces een database query uitvoert, heeft het andere proces deze wijziging niet.
Wat snap je niet?quote:Op dinsdag 15 juli 2014 06:27 schreef henrivo het volgende:
Kan iemand mij in teletubbietaal uitleggen waarom dat hele Doctrine gebeuren helemaal je van het schijnt te zijn? Snap d'r geen zak van![]()
Het voornaamste voordeel vind ik dat je je datastructuur in je applicatie definieert, waardoor je op 1 centrale plek bepaalt hoe wat op welke manier wordt opgeslagen. Vervolgens kan Doctrine de benodigde tabellen/kolommen genereren en up-to-date houden, waarmee je voorkomt dat je database en applicatie niet op elkaar aansluiten.quote:Op dinsdag 15 juli 2014 06:27 schreef henrivo het volgende:
Kan iemand mij in teletubbietaal uitleggen waarom dat hele Doctrine gebeuren helemaal je van het schijnt te zijn? Snap d'r geen zak van![]()
quote:
is niet zo moeilijk in google invoeren Hydratorquote:Hydrators are simple objects that allow to convert an array of data to an object (this is called "hydrating") and to convert back an object to an array (this is called "extracting").
Mee eens, ik noemde ook maar even snel 1 van de vele onduidelijkheden.quote:Op dinsdag 15 juli 2014 10:50 schreef remi1986 het volgende:
[..]
[..]
is niet zo moeilijk in google invoeren Hydrator
Nou als ik het zo snel ff bekijk, zou het juist veel makkelijker moeten zijn.quote:Op dinsdag 15 juli 2014 10:58 schreef henrivo het volgende:
[..]
Mee eens, ik noemde ook maar even snel 1 van de vele onduidelijkheden.
Ligt het nu aan mij, of is de leercurve van doctrine gewoon ontzettend ingewikkeld voor een beginneling?
Nee maar ik heb zó veel enthousiaste ervaringen gelezen over doctrine, alsof het een revolutie is, en ik wil óók graag net zo enthousiast worden!quote:Op dinsdag 15 juli 2014 11:02 schreef KomtTijd... het volgende:
Je hoeft niet alle functies van buiten te kennen om het te gebruiken. Ik ben er zo ingerold.
Hoe en waarvoor gebruik je Doctrine dan? In combinatie met Symfony?quote:Op dinsdag 15 juli 2014 11:09 schreef henrivo het volgende:
[..]
Nee maar ik heb zó veel enthousiaste ervaringen gelezen over doctrine, alsof het een revolutie is, en ik wil óók graag net zo enthousiast worden!
Alleen kan ik het enthousiasme niet plaatsen nog en zakt de moed om er mee verder te gaan steeds verder in m'n schoenen
ZF2.quote:Op dinsdag 15 juli 2014 11:10 schreef KomtTijd... het volgende:
[..]
Hoe en waarvoor gebruik je Doctrine dan? In combinatie met Symfony?
Ik zal vanmiddag die cookbook er es bij pakken. Ook al gebruik ik Zend Framework 2. Misschien steek ik er wat van opquote:Op dinsdag 15 juli 2014 11:10 schreef KomtTijd... het volgende:
[..]
Hoe en waarvoor gebruik je Doctrine dan? In combinatie met Symfony?
Met het symfony cookbook erbij vond ik het allemaal behoorlijk duidelijk, had al aardig wat functies gebruikt voordat ik er uberhaupt achter kwam dat het "doctrine" was wat ik gebruikte.
Gadver, wat een lelijke manier om je querie op te bouwen. Dat is op een gegeven moment helemaal niet leesbaar meerquote:$em = $this->getDoctrine()->getManager()->createQueryBuilder();
$q = $em->select('c')
->from('ACMESouthBundle:CountriesInvolved','c')
->innerJOIN('c.Involvement','i')
->where('i.id = 1')
->groupBy('c.country')->getQuery();
Hoe zou jij je interface dan maken?quote:Op dinsdag 15 juli 2014 11:25 schreef remi1986 het volgende:
[..]
Gadver, wat een lelijke manier om je querie op te bouwen. Dat is op een gegeven moment helemaal niet leesbaar meer
Interface? Of de desbetreffende query?quote:Op dinsdag 15 juli 2014 11:58 schreef slacker_nl het volgende:
[..]
Hoe zou jij je interface dan maken?
Je hoeft niet perse de querybuilder te gebruiken, je kunt ook DQL (Doctrine Query Language) gebruiken, dat lijkt heel erg op SQLquote:Op dinsdag 15 juli 2014 11:25 schreef remi1986 het volgende:
[..]
Gadver, wat een lelijke manier om je querie op te bouwen. Dat is op een gegeven moment helemaal niet leesbaar meer
Voor het meeste werk hoef je uberhaupt geen queries te bouwen. Met find en findBy heb je 90% al afgevangen. Scheelt echt ontzettend veel gedoe.quote:Op dinsdag 15 juli 2014 12:59 schreef Rockfire het volgende:
[..]
Je hoeft niet perse de querybuilder te gebruiken, je kunt ook DQL (Doctrine Query Language) gebruiken, dat lijkt heel erg op SQL
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |