Ik heb deze code:


<?php 
$command = "convert -size 320x100 xc:lightblue -font Candice -pointsize 72 \
           -tile gradient:   -annotate +28+68 'Anthony' \
           font_gradient.jpg";

  system($command,$a);
  echo "Result: ".$a;
?>

En als ik hem uitvoer zie ik:
Result: 127

Waarom? Er is verder niks gebeurd, /usr/bin/convert bestaat gewoon.
Wat is er mis, ik wil gewoon een plaatje aanmaken met de naam "font_gradient.jpg"..
Ook de -font Candice parameter heb ik weggehaald om eens te kijken of hij niet op zijn plaat gaat met een niet bestaande font.

Edit
Dit werkt wel:
$command = "convert test.jpg testgif.gif";

Maar waarom bovenstaande niet?
iemand enig idee?
ben niet heel erg thuis in imagemagick maar convert is toch iets omzetten? Kan je er daadwerkelijk iets mee aanmaken of moet het bestand wel reeds bestaan en wordt het geconverteerd?
Hij maakt het bestand gewoon aan..
Nu kom ik op iets vaags..


$command = "convert -size 320x100 xc:lightblue -pointsize 72 \ -tile gradient:   -annotate +28+68 'Anthony' \ font_gradient.jpg";


Opeens heb ik twee bestanden in mijn map:
font_gradient-0.jpg
font_gradient-1.jpg

En ik kan er niks mee, niet openen, geven een 404, bestaan wel in de FTP, en hebben mijn username. Chmod staat op 644...

Ik kan ze alleen via DirectAdmin filemanager verwijderen.
What's in a name and what te f*ck?
geen idee, misschien 0 bytes, maar andere vraag waar zijn die backslashes voor?
Nee? Ze hebben gewoon een bestandinhoud, maar zijn niet te lezen. UID en GID kloppen gewoon, chmod klopt...

Die backslashes, geen idee, ik heb het ook maar uit de voorbeelden gekopieerd.
Begin maar eens met het weglaten van de backslashes. Dit zijn een soort van Unix/Linux newline onderbrekingen wanneer je echt op de commandline werkt. Misschien zijn die van invloed? Heb je geen linux box of telnet/ssh om het op de commandline te testen?
jawel...
Maar uiteindelijk wil ik wel bestanden met PHP kunnen converteren

Edit
Het verwijderen van de slashes gaf geen resultaat.
test in php eens zonder backslashes. Verder heb ik geen tips, iemand anders misschien??
John D op 25/05/2011 11:25:35

test in php eens zonder backslashes. Verder heb ik geen tips, iemand anders misschien??



Edit
Het verwijderen van de slashes gaf geen resultaat.


Blijft vaag, iets simpels als dit:

$command = "convert test.jpg -rotate 30 test_rotated.jpg";

Geeft geen probleem..
Maar waarom werkt bovenstaande niet... Grr...
Waarom gebruik je Imagemagick over de commandline ipv de native versie in PHP?
Omdat dat kan, dat doen echte bikkels .
Heb jij overigens ooit een systeembeheerder Linux vanuit een GUI zien beheren?

Ik wil het op deze manier proberen, durf erop in te zetten dat je veel meer mogelijkheden hebt dan de standaard PHP-functies, en hier leer je bovendien van. Je kan het zelfs vanuit bijv. een sh-script aanroepen.

Reageren