Read Word documents with PHP (up to Word 2003)

Posted by Danny Herran on Feb 10, 2011 in Backend | 8 comments

Reading Word documents with PHP on a Linux box can be a real pain. It requires DOM which is only available on the Windows platform. However, Unkwntech from Stack Overflow made quite a nice function to read Word documents and extract its information. It will only parse text content, but it is enough for most of the tasks we will be doing anyway.

$_GET parameters on CodeIgniter

Posted by Danny Herran on Dec 13, 2010 in Backend | 1 comment

Yeah, it is a much discussed topic in every CI forum. I needed to set up a payment gateway and it was mandatory to receive the gateway response via $_GET, so I decided to do an investigation on the matter and this is what I came up with.

CodeIgniter 2.0 new FTP class “download” method

Posted by Danny Herran on Nov 25, 2010 in Backend | 3 comments

I needed to download some files from a remote FTP server and the store them in my website. The usual way would be to download all the files to my computer and then upload them to my website. In CodeIgniter 1.7.2 you would have to do this, however, the new CodeIgniter 2.0 has a new ‘download’ method that will make it real easy to transfer files between FTP servers.

Get YouTube video thumbnails (the easy way)

Posted by Danny Herran on Oct 20, 2010 in Other Stuff | 1 comment

YouTube has an API to do this, however, there is an easier way to pull the thumbnails of a specific video if you know its ID. You can use this trick in any of your applications and it is not language specific.

A little dot that made me pull my hair off

Posted by Danny Herran on Oct 15, 2010 in Frontend, Other Stuff | No comments

I was coding a long signup form, a very nice one, with the jQuery Validation Plugin, but it wasn’t working. I started to strip the code, piece by piece so I can identify what was causing the plugin to ignore the form and I came up with the most stupid error you will ever seen in your life (at least I think so).

Yes, a little dot that I don’t even know how to write with my keyboard. I even tried to replicate it and I couldn’t. 2 hours of coding wasted on this little bastard. Can you believe that?…

Trim long texts by words in PHP

Posted by Danny Herran on Oct 14, 2010 in Backend | No comments

We don’t like reading chopped sentences like “Star Wars Old Republic is be….”. It looks fugly. Usually, when trimming text you will go with substr(), but there is a much better way to do it, and believe me, you trimmed text will look so much better than before.

HTML Table Class on CodeIgniter 2.0

Posted by Danny Herran on Aug 31, 2010 in Backend | 3 comments

CodeIgniter 2.0 is coming out soon, so lets start studying the changes done to the HTML Table Class in the dev-release.

One of the most requested features was the ability to set tag attributes to individual cells. On CI 2.0 this is completely possible, however, since the documentation is not fully updated yet, I decided to make this short post to explain how it works.

Fixing UTF-8 encoding problems on MySQL queries with PHP

Posted by Danny Herran on Aug 24, 2010 in Backend | 4 comments

It happened to me a lot of times, I had my connection set to UTF-8, my database was UTF-8, even my tables and every single field, however, for some reason, the information I updated in phpMyAdmin wasn’t being displayed correctly on my website and the information edited on my website wasn’t being displayed correctly in phpMyAdmin.

You know all those weird characters, those that very often come up when you write accented letters or words in another language like Portuguese or Spanish? That’s what I am talking about.

Here is the solution. A single line that can save you hours of research.

Twitter feed on your website with cURL and PHP

Posted by Danny Herran on Aug 15, 2010 in Backend | 3 comments

Pulling code from here and there, I gathered enough information to create a small function that allow you to pull your Twitter feed and display it in your website. What you do is basically call the function and pass a couple parameters. The styling can be done with CSS.

Alternate row colors with PHP

Posted by Danny Herran on Aug 10, 2010 in Backend | 3 comments

I know there are several ways to accomplish this, however, of all the ones I’ve tried, this is the shortest so far:

$i = 0;
	echo '<tr, td, div, row, whatever, here class="row'.$i.'">';
	$i = 1 - $i;

So, if you make two classes, row1 and row2, each with a different background color, the result will be alternated row colors in whatever you’re doing. Very useful for long lists.

Update: you might be interested in how to alternate row colors with pure CSS.

Element indexes and jQuery

Posted by Danny Herran on Aug 10, 2010 in Frontend | No comments

Once the DOM is structured by the browser, each element in our HTML page has an index relative to its parent. Retrieving an element’s index with jQuery is an easy task, and it is so useful that it can save you a couple of lines of code.

Change selected option by value on select list with jQuery

Posted by Danny Herran on Aug 10, 2010 in Frontend | 4 comments

You have a select element, and you need to “select” one of its options based on one of its values. What you do is use the “selected-selector” of jQuery to do it in a single line.

Lets say I have the following select element and I need to dynamically select the option with a value of 3, which would be the “Peach”.

<select name="myselect" id="myselect">
	<option value="1">Apple</option>
	<option value="2">Pear</option>
	<option value="3">Peach</option>
	<option value="4">Orange</option>


$("#myselect option[value=3]").attr('selected', 'selected');

// Or just...

If you want to get a little bit more technical, make sure you read the official jQuery documentation regarding this subject.

Fix / workaround for the z-index problem on IE7

Posted by Danny Herran on Aug 9, 2010 in Frontend | No comments

IE7 behaves strangely when we talk about z-index. It doesn’t always respect the z-index values of our elements. However, if you come around this weird stuff, just add a higher z-index to the parent of the element you want to put above everything else. Don’t ask me why this works but it does!

Lets take a look at a small example:

<div style="z-index: 3000">
  <div style="position:absolute;z-index:1000;">
    this element will appear above everything else
    <a href="#">Page</a>

Create thumbnails on the fly with CodeIgniter

Posted by Danny Herran on Aug 9, 2010 in Backend | 9 comments

Before explaining the solution, you should know creating thumbnails on the fly is server inefficient, eats a lot of resources and they should be generated as soon as the images are uploaded. However, there are some occasions when we absolutely need to generate thumbs on the fly. In this article we will learn how to do this in CodeIgniter.