Tag Archives: wordpress

Blogs Haute Performance et Sites Web

Avez-vous un site ou un blog et vous sentez qu'il s'enlise à fort trafic? Tout d'abord, félicitations - il est l'un de ces problèmes que les webmasters et blogueurs aimeraient avoir. Mais comment voulez-vous résoudre? La première chose à faire est de permettre l'accélération de PHP, si votre site / blog est basé PHP. Bien qu'il devrait être simple (théoriquement), il peut prendre un certain temps pour bien faire les choses. Vous savez ce qu'ils disent - En théorie, théorie et la pratique sont les mêmes. En pratique, ils ne sont pas. Accélération, cependant, est un fruit à portée de main, et ira un long chemin dans la résolution de vos problèmes.

Une fois que vous avez extrait tout le kilométrage de la solution d'accélérateur, il est temps d'intégrer un Content Delivery Network ou CDN. Quel CDN fait est au service de tous vos fichiers statiques (images, feuilles de style, fichiers javascript, et même en cache les pages de blog) d'un réseau de serveurs autres que le vôtre. Ces serveurs sont stratégiquement placés autour du continent (et dans le monde) afin que vos lecteurs reçoivent le contenu depuis un emplacement géographiquement proche de lui. En plus de réduire le temps de latence dû à la distance, CDN vous aide aussi à réduire la charge sur votre serveur.

Continuer la lecture

Comment enregistrer une chaîne dans un fichier local en PHP?

Cet article est le deuxième de ma série de geek.

Pendant la programmation de mon thème Tweaker, Je suis tombé sur ce problème. J'ai eu une chaîne sur mon serveur dans mon programme php (la feuille de style tordu, en fait), et je voulais donner à l'utilisateur la possibilité d'enregistrer dans un fichier de son ordinateur. J'aurais pensé que c'était un problème commun, et tous les problèmes peuvent être résolus par googler. Mais, lo et voici, Je n'arrivais pas à trouver une solution satisfaisante. J'ai trouvé ma propre, et pensais que je voudrais partager ici, pour le bénéfice de tous les futurs Googlers encore d'aller et venir.

Avant d'entrer dans la solution, essayons de comprendre quel est le problème. Le problème est dans la division du travail entre deux ordinateurs — l'une est le serveur, où votre WordPress et PHP sont en cours d'exécution; l'autre est l'ordinateur du client lorsque l'observation se déroule. La chaîne dont nous parlons est sur le serveur. Nous voulons l'enregistrer dans un fichier sur l'ordinateur du client. La seule façon de le faire est de servir la chaîne comme une réponse html.

À première vue, cela ne ressemble pas à un problème majeur. Après tout, serveurs envoient régulièrement des cordes et des données aux clients — c'est ainsi que nous voyons quelque chose sur le navigateur, y compris ce que vous lisez. Si c'était juste un programme PHP qui veut sauver la chaîne, il ne serait pas un problème. Vous pouvez tout simplement jeter la chaîne dans un fichier sur le serveur et servir le fichier.

Mais que faites-vous si vous ne voulez pas donner au monde entier un moyen de dumping chaînes de fichiers sur votre serveur? Bien, vous pourriez faire quelque chose comme ça:

<?php
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
print $stylestr ;
?>

Si, il suffit de mettre ce code dans votre foo.php qui calcule la stylestr chaîne $ et vous avez terminé. Mais notre problème est que nous travaillons dans le cadre de plugin pour WordPress, et ne peuvent pas utiliser l'en-tête() appels. Lorsque vous essayez de le faire, vous obtiendrez le message d'erreur disant que la tête est déjà fait mec. Pour ce problème, J'ai trouvé la solution ingénieuse dans l'un des plugins que j'utilise. Mot de laquelle on, mais je suppose que c'est une technique courante. La solution consiste à définir un iFrame vide et mis sa source à ce que la fonction PHP écrirait. Depuis iFrame s'attend à une source HTML complet, vous êtes autorisé (en fait, obligé) à envoyer l'en-tête() directives. L'extrait de code ressemble:

<iframe id="saveCSS" src="about:blank" style="visibility:hidden;border:none;height:1em;width:1px;"></iframe>
<script type="text/javascript">
var fram = document.getElementById("saveCSS");
<?php echo 'fram.src = "' . $styleurl .'"' ;
?>

Maintenant, la question est, ce qui devrait être la source? En d'autres termes, ce qui est $ styleUrl? Clairement, il ne va pas être un fichier statique sur votre serveur. Et le but de ce post est de montrer qu'il n'a pas besoin d'être un fichier sur le serveur du tout. Il est une réponse en deux parties. Vous devez vous rappeler que vous travaillez dans le cadre WordPress, et vous ne pouvez pas faire des fichiers php autonomes. La seule chose que vous pouvez faire est d'ajouter des arguments pour les fichiers php existants, ou les plugins que vous avez créé. Donc, vous devez d'abord faire un bouton de soumission comme suit:

<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]?>">
<div class="submit">
<input type="submit" name="saveCSS" title="Download the tweaked stylesheet to your computer" value="Download Stylesheet" />
</div>

Notez que l'attribut name de la touche est “saveCSS.” Maintenant, dans la partie du code qui gère soumet, vous faites quelque chose comme:

<?php
if (isset($_POST['saveCSS']))
$styleurl = get_option('siteurl') . '/' . "/wp-admin/themes.php?page=theme-tweaker.php&save" ;

?>

C'est le $ styleUrl que vous donneriez comme la source de votre iFrame, avant. Notez qu'il est le même que votre pluging URL de la page, sauf que vous avez réussi à ajouter “?sauver” à la fin de celui-ci. Le prochain tour est de capturer cet argument et gérer. Pour que, vous utilisez la fonction de l'API WordPress, add_action comme:

<?php
if (isset($_GET['save'] ))
add_action('init', array(&$thmTwk, 'saveCSS'));
else
remove_action('init', array(&$thmTwk, 'saveCSS'));
?>

Cela ajoute une fonction saveCSS à la partie d'initialisation de votre plugin. Maintenant, vous devez définir cette fonction:

<?php
function saveCSS() {
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
$stylestr = "Whatever string you want to save";
ob_start() ;
print $stylestr ;
ob_end_flush() ;
die() ;
}
?>

Maintenant, nous sommes presque à la maison gratuitement. La seule chose à comprendre est que vous la besoin la filière(). Si votre fonction ne meurt pas, il vomira le reste du WordPress trucs généré dans votre fichier de sauvegarde, ajoutant à votre chaîne $ stylestr.

Il peut sembler compliqué. Bien, Je suppose que cela est un peu compliqué, mais une fois que vous le mettre en œuvre et faire fonctionner, vous pouvez (et faire) oublier. Au moins, Je fais. C'est pourquoi je l'ai posté ici, de sorte que la prochaine fois que j'ai besoin de le faire, Je peux regarder vers le haut.

Geeks

I have been doing a bit of geeky stuff latelywriting Plugins WordPress. Bien, it is because I’m suffering from a terrible writer’s block.

Vous voyez, I’m supposed to be working on my next book. I foolishly promised a couple of chapters of Les principes du développement quantitatif to my commissioning editor at John Wiley & Sons within a month; now I find myself writing everything other than those darned chapters! Including plugins. Venir à penser, writing those chapters wouldn’t be any less geeky, ne serait-il?

That made me wonderWe all started off as geeks, didn’t we? No use denying it. Remember how our teachers loved us, and the sexy cheerleaders, bien, didn’t? Later in life, due to exigencies of circumstances, we may have tried to lose our techie halo and simulate a managerial posture. Mais, in our moments of panic, we go back to our geek roots. Au moins, Je fais.

You think you don’t? Bien, check out these geek jokes. If you find them funny, chances are your roots are not too different from mine.

Heisenberg was driving down the highway when he was pulled over for speeding. The officer says, “Do you know how fast you were going?” Heisenberg says, “Needs a context, but I do know where I am!”

Two Hydrogen atoms walk into a bar. One says, “I’ve lost my electron!” The other says, “Are you sure?” The first replies, “Oui, I’m positive…”

Geek Pickup Lines:

  • Tell me of this thing you humans call [dramatic pause] love.
  • If you turn me down now, I will become more drunk than you can possibly imagine.
  • They don’t call me Bones because I’m a doctor.
  • Your name is Leslie? Regardez, I can spell your name on my calculator!
  • What’s a nice girl like you doing in a wretched hive of scum and villainy like this?
  • You must be Windows 95 because you got me so unstable.
  • My ‘up-timeis better than BSD.
  • I can tell by your emoticons that you’re looking for some company.
  • Is that an iPod mini in your pocket or are you just happy to see me.
  • Want to see my Red Hat?
  • If you won’t let me buy you a drink, at least let me fix your laptop.
  • You had me atHello World.
  • Mind if I run a sniffer to see if your ports are open?
  • You make me want to upgrade my Tivo.
  • By looking at you I can tell you’re 36-25-36, which by the way are all perfect squares.
  • Jedi Mind Trick: “This is the geek you’re looking for.[Waves hand]
  • You can put a Trojan on my Hard Drive anytime.
  • Have you ever Googled yourself?
  • How about we do a little peer-to-peer saliva swapping?
  • With my IQ and your body we could begin a race of genetic superchildren to conquer the earth.
  • What’s a girl like you doing in a place like this when there’s a Farscape marathon on right now on the Sci Fi channel.
  • I’m attracted to you so strongly, scientists will have to develop a fifth fundamental force.

What Makes 100%?

What does it mean to give MORE than 100%? Ever wonder about those people who say they are giving more than 100%? We have all been to those meetings where someone wants you to give over 100%. How about achieving 103%? What makes up 100% in life? Here’s a little mathematical formula that might help you answer these questions:

Si:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z are represented as:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

then H-A-R-D-W-O-R-K = 8+1+18+4+23+15+18+11 = 98%

and K-N-O-W-L-E-D-G-E = 11+14+15+23+12+5+4+7+5 = 96%

but A-T-T-I-T-U-D-E = 1+20+20+9+20+21+4+5 = 100%

and B-U-L-L-S-H-I-T = 2+21+12+12+19+8+9+20 = 103%

but look how far ass kissing will take you.

A-S-S-K-I-S-S-I-N-G = 1+19+19+11+9+19+19+9+14+7 = 118%

Si, one can conclude with mathematical certainty that While Hard work and Knowledge will get you close, and Attitude will get you there, it’s the Bullshit and Ass kissing that will put you over the top.