abonnement Unibet Coolblue Bitvavo
  maandag 26 maart 2012 @ 17:31:06 #91
292596 Faux.
Fan van zichzelf
pi_109536367
Hallo,

ik wil graag aan de slag met de imgur API. Nu hebben zij het volgende script om bestanden naar de imgur-servers up te loaden:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
?
    
$filename "image.jpg";
    
$handle fopen($filename"r");
    
$data fread($handlefilesize($filename));

    
// $data is file data
    
$pvars   = array('image' => base64_encode($data), 'key' => IMGUR_API_KEY);
    
$timeout 30;
    
$curl    curl_init();

    
curl_setopt($curlCURLOPT_URL'http://api.imgur.com/2/upload.xml');
    
curl_setopt($curlCURLOPT_TIMEOUT$timeout);
    
curl_setopt($curlCURLOPT_POST1);
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
    
curl_setopt($curlCURLOPT_POSTFIELDS$pvars);

    
$xml curl_exec($curl);

    
curl_close ($curl);
?>
?>

Ik wil dat graag samen laten werken met een HTML-formuliertje. Hoe zorg ik ervoor dat de afbeelding die de gebruiker uploadt gelijk naar imgur wordt verzonden en niet eerst op mijn server wordt opgeslagen? :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  maandag 26 maart 2012 @ 17:32:49 #92
75592 GlowMouse
l'état, c'est moi
pi_109536428
toch tijdelijk op je eigen server opslaan
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_109536454
Er wordt altijd een tijdelijk bestand aangemaakt op de server.
  maandag 26 maart 2012 @ 17:33:52 #94
292596 Faux.
Fan van zichzelf
pi_109536471
En brengt dat veiligheidsrisico's met zich mee? :@
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_109536546
quote:
11s.gif Op maandag 26 maart 2012 17:33 schreef Faux. het volgende:
En brengt dat veiligheidsrisico's met zich mee? :@
Depends wat je voor veiligheidschecks hebt.
  maandag 26 maart 2012 @ 17:39:06 #96
292596 Faux.
Fan van zichzelf
pi_109536631
quote:
7s.gif Op maandag 26 maart 2012 17:36 schreef Scorpie het volgende:

[..]

Depends wat je voor veiligheidschecks hebt.
En als je de afbeelding van de gebruik opslaat, uploadt naar imgur en gelijk weer verwijderd, loop je dan geen risico?
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  maandag 26 maart 2012 @ 17:40:55 #97
75592 GlowMouse
l'état, c'est moi
pi_109536693
quote:
11s.gif Op maandag 26 maart 2012 17:39 schreef Faux. het volgende:

[..]

En als je de afbeelding van de gebruik opslaat, uploadt naar imgur en gelijk weer verwijderd, loop je dan geen risico?
over welk risico heb je het precies? Let ook op je grammatica.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 26 maart 2012 @ 17:44:56 #98
292596 Faux.
Fan van zichzelf
pi_109536824
quote:
0s.gif Op maandag 26 maart 2012 17:40 schreef GlowMouse het volgende:

[..]

over welk risico heb je het precies? Let ook op je grammatica.
verwijdert :@

De risico's die hier beschreven worden: http://corpocrat.com/2007(...)-file-upload-in-php/
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  maandag 26 maart 2012 @ 17:47:31 #99
75592 GlowMouse
l'état, c'est moi
pi_109536908
daar staat een hele makkelijke oplossing genoemd
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 26 maart 2012 @ 22:14:25 #100
370539 kucher
is snucher
pi_109549589
Je hoeft het niet te verwijderen, dat doet PHP zelf al.
  maandag 26 maart 2012 @ 22:19:40 #101
75592 GlowMouse
l'état, c'est moi
pi_109549898
quote:
0s.gif Op maandag 26 maart 2012 22:14 schreef kucher het volgende:
Je hoeft het niet te verwijderen, dat doet PHP zelf al.
dat moet wel, aangezien je niet altijd files uit de upload_tmp_dir mag lezen (oa. als safe mode aanstaat of open_basedir ingesteld is) en je dus eerst move_uploaded_file moet aanroepen
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 27 maart 2012 @ 16:12:57 #102
25889 Sitethief
Fulltime Flapdrol
pi_109571112
Dillema

Ik heb een class waarin enkele debug en log functies staan die vooral gebruikt worden om fouten te ontdekken, debuggen, en loggen. Dat loggen gebeurt in sommige gevallen naar de database. En de database class logt wanneer er iets verkeerd gaat...

Zie hier mijn dillema, ik kan natuurlijk mijn debug.log class opsplitsen, maar ergens vind ik dat geen ideale oplossing.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 27 maart 2012 @ 16:50:44 #103
298746 Dalando
18, niet meer gefrustreerd
pi_109572586
Ik kwam deze tegen en ik dacht ik laat hem even hier achter, misschien goed voor in de OP.

http://phptuts.nl/home/
Spel-, taal- en grammaticafouten voorbehouden.
994a040db3f025e25771e045468fc121
pi_109575426
quote:
2s.gif Op dinsdag 27 maart 2012 16:50 schreef Dalando het volgende:
Ik kwam deze tegen en ik dacht ik laat hem even hier achter, misschien goed voor in de OP.

http://phptuts.nl/home/
Goede site, tutorials zijn lekker uptodate (zoals het hoort). Dit durf ik tenminste te geven aan een beginner! Zeker een aanrader.
  Redactie Sport / Supervogel dinsdag 27 maart 2012 @ 18:22:05 #105
270182 crew  Pino112
Pino van Luna O+
pi_109575637
quote:
0s.gif Op dinsdag 27 maart 2012 18:14 schreef totalvamp het volgende:

[..]

Goede site, tutorials zijn lekker uptodate (zoals het hoort). Dit durf ik tenminste te geven aan een beginner! Zeker een aanrader.
Sarcastisch?
pi_109575659
quote:
14s.gif Op dinsdag 27 maart 2012 18:22 schreef Pino112 het volgende:

[..]

Sarcastisch?
Nee, anders zou ik wel zeggen dat de site klote is... en dat holbewoners zelfs niet gebruik maakten van globals.

[ Bericht 5% gewijzigd door #ANONIEM op 27-03-2012 18:23:21 ]
  Redactie Sport / Supervogel dinsdag 27 maart 2012 @ 18:23:23 #107
270182 crew  Pino112
Pino van Luna O+
pi_109575683
quote:
0s.gif Op dinsdag 27 maart 2012 18:22 schreef totalvamp het volgende:

[..]

Nee, anders zou ik wel zeggen dat de site klote is...
Ik zag tuts uit 2008 staan, dus daarom mijn twijfels. :)
pi_109575697
quote:
0s.gif Op dinsdag 27 maart 2012 18:22 schreef totalvamp het volgende:

[..]

Nee, anders zou ik wel zeggen dat de site klote is...
De laatste tutorial stamt uit eind 2009. Ik kan dat nou niet bepaald 'up-to-date' noemen...
pi_109575724
quote:
0s.gif Op dinsdag 27 maart 2012 18:23 schreef The_Terminator het volgende:

[..]

De laaste tutorial stamt uit eind 2009. Ik kan dat nou niet bepaald 'up-to-date' noemen...
Als je kijkt zie je dat de techniek die gebruikt wordt gewoon goed is. Ik had eerst ook mijn twijfels erover, maar zeker voor een beginner is dit een betere start dan een PHP for Dummies boek.
  dinsdag 27 maart 2012 @ 19:49:42 #110
111382 Ofyles2
Bestemming: onbekend
pi_109579178
quote:
14s.gif Op dinsdag 27 maart 2012 18:23 schreef Pino112 het volgende:

[..]

Ik zag tuts uit 2008 staan, dus daarom mijn twijfels. :)
Momenteel is PHP6 nog niet wijdverbreid.
  dinsdag 27 maart 2012 @ 21:32:29 #111
370539 kucher
is snucher
pi_109584648
PHP6 is dood, maar het verschil tussen 5.2 en 5.4 is wel groot.
pi_109589736
quote:
15s.gif Op dinsdag 27 maart 2012 21:32 schreef kucher het volgende:
PHP6 is dood, maar het verschil tussen 5.2 en 5.4 is wel groot.
Dat wel, maar om dat een beginner te gaan leren ;) alhoewel misschien is namespacing wel een goede start :P
pi_109589900
quote:
0s.gif Op dinsdag 27 maart 2012 22:49 schreef totalvamp het volgende:

[..]

Dat wel, maar om dat een beginner te gaan leren ;) alhoewel misschien is namespacing wel een goede start :P
namespaces is iets van PHP 5.3. Als je iets typisch PHP 5.4 als vorobeeld wilt geven, kun je bijvoorbeeld traits nemen. Maar om dat nou bij een beginner uit te leggen, lijkt me niet slim...
pi_109597076
quote:
0s.gif Op dinsdag 27 maart 2012 22:49 schreef totalvamp het volgende:

[..]

Dat wel, maar om dat een beginner te gaan leren ;) alhoewel misschien is namespacing wel een goede start :P
Ik zie het nut van namespaces bij PHP niet helemaal in. Je moet de bestanden toch includen dus die tijd ben je al kwijt. Als PHP goed omgaat met niet geheel inlezen van de bestanden totdat de namespace wordt aangeroepen, dan heeft het wel een voordeel aangezien hij dan pas gaat inlezen wat hij nodig heeft.

Enige wat ik trouwens van PHP zag dat nog een verbetering was is het gebruik van woord "static" n functies. Dat hij het afdwingt deze functies beter te gebruiken. Liever had ik punten gezien als:
• betere type casting $var1 = string en blijft een string, niet dat het halvewege de code ineens een integer kan worden.
• Return types in functie name, zodat je precies weet wat je terug krijgt.
• Verplicht parameter types opgeven
• Functie overloading
pi_109611415
quote:
0s.gif Op woensdag 28 maart 2012 09:16 schreef Pakspul het volgende:

[..]

Ik zie het nut van namespaces bij PHP niet helemaal in. Je moet de bestanden toch includen dus die tijd ben je al kwijt. Als PHP goed omgaat met niet geheel inlezen van de bestanden totdat de namespace wordt aangeroepen, dan heeft het wel een voordeel aangezien hij dan pas gaat inlezen wat hij nodig heeft.

Enige wat ik trouwens van PHP zag dat nog een verbetering was is het gebruik van woord "static" n functies. Dat hij het afdwingt deze functies beter te gebruiken. Liever had ik punten gezien als:
• betere type casting $var1 = string en blijft een string, niet dat het halvewege de code ineens een integer kan worden.
• Return types in functie name, zodat je precies weet wat je terug krijgt.
• Verplicht parameter types opgeven
• Functie overloading
Het nut is dat je nooit meer 2 dezelfde classes kan aanroepen. Aangezien er meerdere classes kunnen bestaan met dezelfde naamgeving is dat dus handig. Ook hoeft includen dus niet meer. voor mijn huidige applicatie is dit perfect!

static methods bestaat al een tijdje hoor ;)

Ik ben het wel eens met je dat method parameter types aangegeven moeten kunnen worden in een interface/abstract class.
overloading bestaat al
waarom zou je return types in de functienaam willen? Je hoort gewoon iets terug te geven en dat zet je in een comment boven de functie.
pi_109620123
quote:
0s.gif Op woensdag 28 maart 2012 16:11 schreef totalvamp het volgende:

[..]

Het nut is dat je nooit meer 2 dezelfde classes kan aanroepen. Aangezien er meerdere classes kunnen bestaan met dezelfde naamgeving is dat dus handig. Ook hoeft includen dus niet meer. voor mijn huidige applicatie is dit perfect!
Hoe weet PHP dan waar de classes staan als includen niet meer hoeft?
quote:
static methods bestaat al een tijdje hoor ;)
Weet ik, maar waar ik op doel is dat het volgende mogelijk is zonder foutmelding
1
2
3
4
5
6
7
8
9
10
11
<?php
class Foo
{
    public function 
Bar()
    {
        echo 
"Foo::Bar!!!";
    }
}

Foo::Bar();
?>

Dit mag niet, static moet er bij anders klopt het gewoon niet.
quote:
Ik ben het wel eens met je dat method parameter types aangegeven moeten kunnen worden in een interface/abstract class.
*O*
quote:
overloading bestaat al
Dit kan in PHP niet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class Foo
{
    public function 
Bar(PrimaryClass $var)
    {
        
// do something
    
}

    public function 
Bar(SecondaryClass $var)
    {
        
// do something
    
}

    public function 
Bar(TertiaryClass $var)
    {
        
// do something
    
}
}
?>

Wat wel heel handig is.
quote:
waarom zou je return types in de functienaam willen? Je hoort gewoon iets terug te geven en dat zet je in een comment boven de functie.
Commentaar dwingt het niet af en dat zou wel ideaal zijn. Ook voor het opvoeden van de programmeur die wordt dan gedwongen om goed om te gaan met types.
pi_109621581
quote:
0s.gif Op woensdag 28 maart 2012 19:37 schreef Pakspul het volgende:
Hoe weet PHP dan waar de classes staan als includen niet meer hoeft?
Ik maak zelf gebruik van een autoloader (zoals je normaal ook zou hebben).
quote:
Weet ik, maar waar ik op doel is dat het volgende mogelijk is zonder foutmelding
[ code verwijderd ]
Dit mag niet, static moet er bij anders klopt het gewoon niet.
Dat is toch logisch? het voordeel van static is dat er geen instance gemaakt hoeft te worden van de class. Dit is gewoon zoals het hoort imo.

quote:
Dit kan in PHP niet:
[ code verwijderd ]

Wat wel heel handig is.
overloading houdt iets anders is.
http://php.net/manual/en/language.oop5.overloading.php

quote:
Commentaar dwingt het niet af en dat zou wel ideaal zijn. Ook voor het opvoeden van de programmeur die wordt dan gedwongen om goed om te gaan met types.
Ik neem dan aan dat je zoiets zou willen:
1
2
3
4
5
<?php

function foo(int $int, @return string) {
  return 
'het getal is: '.$int;
}

dat zou inderdaad wel van pas komen.
pi_109622108
quote:
0s.gif Op woensdag 28 maart 2012 20:03 schreef totalvamp het volgende:

[..]

Ik maak zelf gebruik van een autoloader (zoals je normaal ook zou hebben).
Dan worden de bestanden toch nog gewoon geinclude? Maar goed, dubbel class namen kan handig zijn.
quote:
[..]

Dat is toch logisch? het voordeel van static is dat er geen instance gemaakt hoeft te worden van de class. Dit is gewoon zoals het hoort imo.
Nee, want je static functie kan anders zijn dan je normale funtie. In je normale functie kun je gebruik maken van je $this variabel.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
class String
{
    public 
$Value;

    public function 
__construct($val)
    {
        
$this->Value $var;
    }

    public function 
ConCat(String $var)
    {
        return new 
String($this->Value $var->Value);
    }

    public static function 
ConCat(String $v1String $v2)
    {
        return new 
String($v1->Value $v2->Value);
    }
}

$query = new String('SELECT ');
$query $query->ConCat(new String('FROM ');

$query2 String::ConCat(new String('SELECT '), new String('FROM '));
?>

Zo programmeer je static functies (niet kijken naar de classes, kon even niets beters verzinnen :P ), maar je niet zomaar een static functie als een normale functie gebruiken. Dan komt het overloaden verhaal weer om de hoek kijken.

quote:
[..]

overloading houdt iets anders is.
http://php.net/manual/en/language.oop5.overloading.php
Duidelijk dat PHP en OO wereld twee andere dingen bedoelen. Ik doel op hoe het in OO wereld hoort: http://en.wikipedia.org/wiki/Function_overloading
quote:
[..]

Ik neem dan aan dat je zoiets zou willen:
[ code verwijderd ]

dat zou inderdaad wel van pas komen.
Liever op de c# manier
1public int Drive(int miles, int speed) { return 0; }
pi_109622589
quote:
0s.gif Op woensdag 28 maart 2012 20:13 schreef Pakspul het volgende:

[..]

Dan worden de bestanden toch nog gewoon geinclude? Maar goed, dubbel class namen kan handig zijn.
Ja maar het aanroepen van de class gaat dus anders ;) Op namespace en niet op naam en die kijkt in een folder etc.

quote:
Nee, want je static functie kan anders zijn dan je normale funtie. In je normale functie kun je gebruik maken van je $this variabel.
[ code verwijderd ]

Zo programmeer je static functies (niet kijken naar de classes, kon even niets beters verzinnen :P ), maar je niet zomaar een static functie als een normale functie gebruiken. Dan komt het overloaden verhaal weer om de hoek kijken.
Je kunt in static functies gebruik maken van self::

quote:
Duidelijk dat PHP en OO wereld twee andere dingen bedoelen. Ik doel op hoe het in OO wereld hoort: http://en.wikipedia.org/wiki/Function_overloading
Hmm interessant, ik kan begrijpen waarom je dat zou willen ja. Nu ik erover nadenk... waarom ik dat wel zou willen ;)

quote:
Liever op de c# manier
[ code verwijderd ]

Ik zou het dan liever zo zien, ik vind het wel fijn als er ook echt function bij staat :P
1public function int Drive()

Voorbeeldje van mijn autoloader:

1
2
3
4
5
6
7
8
9
10
<?php
namespace Traffic\System\Core;

function Autoloader($className)
{
    //echo 'The following class was loaded:'. $className. '<br />';
    $className = str_replace('\\', DIRECTORY_SEPARATOR, $className) . '.php';
    require $className;
}
?>

Hoe ik in bestanden iets aanroep:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
require 'Traffic/System/Core/Autoloader.php';
    spl_autoload_register('\\Traffic\\System\\Core\\Autoloader');
    define('DIRSEP', DIRECTORY_SEPARATOR);
    
    // database test
    $db = new Traffic\System\Core\Database();
    $view = new Traffic\Views;
    
    // New grid
    $grid = new Traffic\Grid();
      
    $grid->addRoad(new Traffic\Roads\Sides\Topside, $coords = array(5,4));  
    $grid->addRoad(new Traffic\Roads\Sides\BottomSide, $coords = array(5,5));  
    // etc

?>

EDIT: de FoK! php highlight ondersteunt nog geen namespaces :')

[ Bericht 12% gewijzigd door #ANONIEM op 28-03-2012 20:23:14 ]
pi_109622892
quote:
0s.gif Op woensdag 28 maart 2012 20:21 schreef totalvamp het volgende:

[..]

Ja maar het aanroepen van de class gaat dus anders ;) Op namespace en niet op naam en die kijkt in een folder etc.

[..]

Je kunt in static functies gebruik maken van self::
Weet ik, maar dat zijn wel twee verschillende dingen en die gebruik je niet door elkaar heen. Als je statische functies gebruikt mag $this niet voorkomen en dat is in PHP nu wel mogelijk.
quote:
[..]

Hmm interessant, ik kan begrijpen waarom je dat zou willen ja. Nu ik erover nadenk... waarom ik dat wel zou willen ;)

[..]

Ik zou het dan liever zo zien, ik vind het wel fijn als er ook echt function bij staat :P
[ code verwijderd ]
Extra type werk :P de ( ) geeft al aan dat het een functie is :P
quote:
Voorbeeldje van mijn autoloader:
[ code verwijderd ]

Hoe ik in bestanden iets aanroep:
[ code verwijderd ]

EDIT: de FoK! php highlight ondersteunt nog geen namespaces :')
Snap het idee, maar ben benieuwd of introductie van namespaces ook invloed heeft op performance.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')