2011-12-24 30 views
7

Komut dosyası, işlenen görüntü ile aynı dizinde saklı kalırsa çalışır. Ve sonuçta ortaya çıkan "foo.jpg" görüntüsü de aynı yerde üretilir.imagick'in writeImage() işlevi nasıl kullanılır?

<?php 

$im = new imagick('image.jpg'); 
$im->thumbnailImage(200, 0); 
$im->writeImage("foo.jpg"); 

?> 

Ama ne senaryo bir konumda ve ben çalışmak isteyen görüntü başka olduğunu ve keşke konumu nasıl bu yolları belirtmek için başka bir yerde olduğu küçük resim, kurtarmak için ise ?

böyle bir şey çalışmıyor yapmak:

$im = new imagick('path/to/image.jpg'); 
+0

Doğru ad alanını kontrol edin, \ PSR kuralı kullanıyorsanız hayal edin. Ya da büyük/küçük harf duyarlı isimleri kontrol edin, 'imagick' yerine 'Imagick'. Uygun yolları almak ve dosya adıyla bitiştirmek için, pathinfo(), file_exists(), is_writable() veya dirname() ile bayraklara da başvurabilirsiniz. Ancak her iki şekilde de, tüm dosyalara işaret ettiğiniz bir temel dizin ayarlamanız gerekir. Sana kalmış. –

cevap

5

bazı dosya sistemi sorun olabilir. Deneyin ve ilk php dosya işaretçisi almak ve herhangi bir sorun

kontrol
$fileHandle = fopen("path/to/image.jpg", "w"); 

Ardından IMagic fonksiyonunu (versiyon 6.3.6 veya daha yeni) kullanabilirsiniz;

$im->writeImageFile($filehandle); 
+0

Belki de şunları beyan etmelisiniz: $ imagick = new Imagick ('yol/to/image'); $ Imagick-> writeImageFile ('yolu// resim için'); $ Imagick-> close(); $ Imagick->) (yok etmek; tüm kaynakları serbest bırakmak. –

İlgili konular