2010-06-24 3 views
0

J'écris un plugin wordpress, et en utilisant ce script pour redimensionner les images: TimthumbPHP chemin absolu avec timThumb ne fonctionne pas

Ce script utilise des chemins absolus, mais je ne peux pas le faire fonctionner pour moi ; J'ai triplé tous mes chemins mais toujours rien.

Voici mon code:

$plugin_dir_name = "my-plugin"; 

$pathTimThumb = WP_PLUGIN_URL . '/' . $plugin_dir_name . '/timthumb.php'; 
$pathToUpload = WP_CONTENT_URL.'/uploads/'.$plugin_dir_name; 
$hImg = 150; 
$wImg = 150; 

.... 

$myImage = '<img class="thumb" src="'.$pathImageThumb.'?src='.$pathToUpload.'/'.$allImages[$i].'&h='.$hImg.'&w='.$wImg.'&zc=1" alt="">'; 

Dans Firebug je reçois cette URL:

<img alt="" src="http://localhost/mu/wp-content/plugins/my-plugin/timthumb.php?src=http://localhost/mu/wp-content/uploads/my-plugin/car___1/26zhoar5.jpg&amp;h=150&amp;w=150&amp;zc=1" class="thumb"> 

Où est l'erreur?

Répondre

1

utiliser celui-ci.

$my_plugin_url = plugins_url('my-plugin-name/'); 
    $my_timthumb_url = $my_plugin_url.'timthumb.php?'; 
    $my_image_url = 'http://localhost/images/image.jpg'; 
echo '<img alt="" src="'.$my_timthumb_url.'src='.$my_image_url.'&amp;h=150&amp;w=150&amp;zc=1"/>'; 

choses à prendre en compte pour rendre le travail de timthumb:

  • chmod votre timthumbs dossier cache
  • ne pas utiliser des images externes
  • vous vérifiez la version timthumb

Cheers, Dave

0

WP_CONTENT_URL est un URL, pas un chemin absolu. Utilisez WP_CONTENT_DIR à la place.

+0

Je sais que, aussi try that.Image est chargé dans le navigateur quand il suffit de coller cette URL dans le navigateur http: //localhost/mu/wp-content/uploads/my-plugin/car___1/26zhoar5.jpg. Ne sait pas où est l'erreur, il est ennuyeux :( – user147

0

TimThumb tente de déterminer le chemin locale de l'image par décapage à http://CURRENT_HOST.tld depuis le début du paramètre src.

Étant donné que vous utilisez localhost, il se peut qu'il soit un peu confus et que vous le calculiez faussement comme une image externe. Je doute que ce soit le cas (j'ai vérifié la source et cela devrait être OK), mais c'est une supposition éclairée.

Avez-vous essayé de lire les entêtes de réponse HTTP de http://localhost/mu/wp-content/plugins/my-plugin/timthumb.php?src=http://localhost/mu/wp-content/uploads/my-plugin/car___1/26zhoar5.jpg&amp;h=150&amp;w=150&amp;zc=1?

Sinon, utilisez HttpFox for FireFox et affichez les résultats.

+0

Lorsque je télécharge le plugin sur le site, ça fonctionne très bien, ça ne marchera pas sur localhost, je ne sais pas pourquoi.Tnx pour l'aide – user147

+0

Yah, avez-vous vérifié les en-têtes de réponse HTTP? Comme je l'ai dit, le fait que vous courez sous localhost est probablement * pourquoi * cela ne fonctionne pas – TheDeadMedic

+0

Après avoir réinstallé XAMPP, il fonctionne bien aussi et dans un localhost.Tnx pour votre temps et vos réponses. – user147