Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Image::Magick & PHP, maar dan zonder exec()

None
10 antwoorden
  • Zie hier het script dat ik van mijn host opgestuurd kreeg:
    [code:1:70f92becb9]<?php
    // Parameter:
    // $width - Desired Image Width
    // $height - Desired image height
    // $image_name - Name of filename. Must be absolute path.
    // &n bsp; $thumb_name - Name of thumbnail to be created. Must be absolute. Is optional, if it isn't set, new filename name is thumb_oldfilename.
    // &$error - Reference to error message. Doesn't need to be returned since variable passed will be
    // changed in event of error. Optional.
    //
    // Return value:
    // true - upon successful thumbnail
    // false - upon failed thumbnail
    //
    /////////////////////////////////////////////////////////////////////////////////////print "TEST";
    if (createThumbnail_ImageMagick(100, 100, "test.png", "out.png")) print " is gelukt!";

    function createThumbnail_ImageMagick($width, $height, $image_name, $thumb_name="", $error="") {
    // read image height and width
    $info = getimagesize($image_name);

    // get images new size
    # list($new_width, $new_height) = newSize($width, $height, $info[0], $info[1]);
    $new_width=100;
    $new_height=100;

    // check if thumbnail name is set, if not prefix image name with thumb_
    if ($thumb_name == "") {
    $thumb_name = "thumb_" . basename($image_name);
    }

    // check if the directory is attached to filename, if so we need to prefix thumb_name with a /
    if (dirname($image_name) != "") {
    $copy_str = "cp $image_name " . dirname($image_name) . "/$thumb_name";
    } else {
    $copy_str = "cp $image_name " . dirname($image_name) . "$thumb_name";
    }

    // copy image to thumbnail (Also escaping shells just to be sure)
    exec(EscapeShellCmd($copy_str));

    // call image magick (Also escaping shells just to be sure)
    exec(EscapeShellCmd("mogrify -geometry " . $new_height . "x" . $new_width . "! $thumb_name"));

    return true;
    }
    ?>

    [/code:1:70f92becb9]

    Hij was alleen vergeten dat het exec() commmando uitgeschakeld was.. (Zie bv http://blue.alphamegahosting.com/am-perldiver.pl en http://blue.alphamegahosting.com/am-phpinfo.php)

    Nu is mijn vraag; Kan dit script op een andere manier worden uitgevoerd dan met de exec()-commando's? Ik weet wel dat dit met GD kan maar op mijn host is enkel GD1.0 geinstalleerd waardoor ik genoegen moet nemen met imageCreate() ipv imageCreateTrueColor()..
  • Nope. Je hebt ook nog temaken met een open_basedir en een hardcoded extension_dir. Remedie: verhuizen naar een minder mega, meer hosting provider.
  • [quote:4825b5dfaf="melvyn"] minder mega, meer hosting provider.[/quote:4825b5dfaf]

    *proest!

    :lol:
  • Wat een grote onzin is dit!
    Ik heb een klant die gehost zit bij alphamega, en gebruik redelijk wat ImageMagick scripts.
    Wat is de blue server dan?
    gold.alphamegahosting.com is het gene waar ik zit, en daar mag exec() wel uitgevoerd worden…
  • Mag ik jouw dan eens vragen welk hosting-pakket dat is? En wat het kost per maand?

    [b:08951c7fa5]Citaat van Alphamegahosting zelf:[/b:08951c7fa5]
    [quote:08951c7fa5]
    Dat klopt en de reden hiervoor is dat we dit commando uitgeschakeld hebben om veiligheidsredenen. Het is namelijk zo, dat vele hacking tools op deze manier gestart kunnen worden. Maar ongetwijfeld kan hetgeen je probeert ook op een andere manier uitgevoerd worden..

    Voor sommige scripting moet je weten welke instellingen er op jouw server voorzien zijn. Je kan de instellingen en de geïnstalleerde pakketten vinden op: http://blue.alphamegahosting.com/am-perldiver.pl en http://blue.alphamegahosting.com/am-phpinfo.php.
    [/quote:08951c7fa5]
  • [quote:97122b4018="Stefan Nagtegaal"]Mag ik jouw dan eens vragen welk hosting-pakket dat is? En wat het kost per maand?

    [b:97122b4018]Citaat van Alphamegahosting zelf:[/b:97122b4018]
    [quote:97122b4018]
    Dat klopt en de reden hiervoor is dat we dit commando uitgeschakeld hebben om veiligheidsredenen. Het is namelijk zo, dat vele hacking tools op deze manier gestart kunnen worden. Maar ongetwijfeld kan hetgeen je probeert ook op een andere manier uitgevoerd worden..

    Voor sommige scripting moet je weten welke instellingen er op jouw server voorzien zijn. Je kan de instellingen en de geïnstalleerde pakketten vinden op: http://blue.alphamegahosting.com/am-perldiver.pl en http://blue.alphamegahosting.com/am-phpinfo.php.
    [/quote:97122b4018][/quote:97122b4018]

    Ik heb gewoon de First-Class.
    De goedkoopste dus.
    Maar ik denk dat ze meerdere servers hebben.
    In iedergeval Blue, en Gold.
    Maar je mag ze wel eens vragen waarom wel Gold, maar niet Blue exec() kan uitvoeren… en ze er ook op attenderen dat er dan zeer weinig mogelijk is met ImageMagick.

    Laat me even weten wat ze je terug mailen.
    Suc6
  • Wow, dit is of errug slordig of een compleet ander hostingpakket!

    kijk eens naar het verschil:
    http://blue.alphamegahosting.com/am-phpinfo.php
    http://gold.alphamegahosting.com/am-phpinfo.php
  • [b:83501cc9bb]topic opgeschoond; hou het netjes…[/b:83501cc9bb][/color:83501cc9bb]
  • [quote:27170b572b="teacher"][b:27170b572b]topic opgeschoond; hou het netjes…[/b:27170b572b][/color:27170b572b][/quote:27170b572b]

    *proest!
    :lol:
  • Ik blijf niet aan de gang…

    op slot dan maar :roll:

    t.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.