2010-12-08 8 views
0

J'essaie de créer une image miniature pour mon site Web. J'extraire les fichiers à l'aideLa fonction GD ne fonctionne pas

$chapterZip = new ZipArchive(); 
if ($chapterZip->open($_FILES['chapterUpload']['tmp_name'])) 
    { 
     if($chapterZip->extractTo("Manga/".$_POST['mangaName']."/".$_POST['chapterName'])) 
     { 
     for($i = 0; $i < $chapterZip->numFiles; $i++) { 

puis boucle à travers les images et la première image que j'envoie le chemin à une cette méthode

function createthumb($source,$output,$new_w,$new_h) 

toutes les valeurs sont lues bien jusqu'à ce que je tente de utilisez le code suivant

if (preg_match("/jpg|jpeg/",$ext)){$src_img=imagecreatefromjpeg($source);} 
    if (preg_match("/png/",$ext)){$src_img=imagecreatefrompng($source);} 
    if (preg_match("/gif/",$ext)){$src_img=imagecreatefromgif($source);} 

la condition sine qua non pour l'expression régulière est satisfaite par le fichier et le code est RAN, mais la fonction imagecreate ne crée pas le nouveau fichier, j'ai vérifié mon p Fichier hpinfo pour voir si la bibliothèque GD est activée et c'est, donc en bref, je n'ai pas la moindre idée de ce qui ne va pas.

http://www.neuromanga.com/phpinfo.php

+0

La création d'un nouvel objet ZipArchive n'extrait rien ... Êtes-vous sûr que les fichiers extraits existent à $ source? –

+0

Les images sont bien extraites J'essaie de garder le code bref – dbomb101

+0

Si vous avez déjà extrait les fichiers, vous devriez utiliser [getimagesize] (http://php.net/manual/fr/function.getimagesize.php) pour déterminer le type de fichier – Phil

Répondre

0

assurez-vous que GD est correctement installé et la fonction existe:

<pre> 
<? 
$arr = get_defined_functions(); 
sort($arr['internal']); 
print_r($arr); 
?> 

aussi. Bien que cela "crée" l'image, vous devez toujours l'écrire sur l'écran ou sur un fichier pour pouvoir l'utiliser. à l'état c'est en utilisant imagecreatefrom [.. quel que soit] c'est juste un objet dans votre état actuel dans votre application web et n'a pas été rendu pour le stockage ou l'affichage. pour cela vous devez faire tout ce que vous allez faire et utiliser imagejpeg ou imagegif ou imagepng pour réellement rendre l'objet à une certaine destination. vous pouvez tester cela en exécutant echo $src_img qui devrait imprimer quelque chose comme: Resource id #1

+0

l'expression régulière dans le code est en cours de lecture son fait que les fonctions imagecreate 't être exécuté, comme j'ai vérifié pour voir si $ src_img existe et il n'a pas – dbomb101

+0

Merci pour cela, compris un peu en utilisant cette méthode – dbomb101

0

Assurez-vous que votre chemin vers $ source est correct. Qu'est-ce que $ src_img si ce n'est pas une nouvelle image?

+0

l'image source est en cours de lecture in fine, mais le $ src_img affecté dans ces lignes de code ... avant que ça n'existait pas – dbomb101