What is thread safe or non-thread safe in PHP?

Needed background on concurrency approaches: Different web servers implement different techniques for handling incoming HTTP requests in parallel. A pretty popular technique is using threads — that is, the web server will create/dedicate a single thread for each incoming request. The Apache HTTP web server supports multiple models for handling requests, one of which (called … Read more

Convert a PHP object to an associative array

Just typecast it $array = (array) $yourObject; From Arrays: If an object is converted to an array, the result is an array whose elements are the object’s properties. The keys are the member variable names, with a few notable exceptions: integer properties are unaccessible; private variables have the class name prepended to the variable name; … Read more

Remove empty array elements

As you’re dealing with an array of strings, you can simply use array_filter(), which conveniently handles all this for you: print_r(array_filter($linksArray)); Keep in mind that if no callback is supplied, all entries of array equal to FALSE (see converting to boolean) will be removed. So if you need to preserve elements that are i.e. exact … Read more

PHP random string generator

To answer this question specifically, two problems: $randstring is not in scope when you echo it. The characters are not getting concatenated together in the loop. Here’s a code snippet with the corrections: function generateRandomString($length = 10) { $characters=”0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”; $charactersLength = strlen($characters); $randomString = ”; for ($i = 0; $i < $length; $i++) { $randomString … Read more

Get the full URL in PHP

Have a look at $_SERVER[‘REQUEST_URI’], i.e. $actual_link = “http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”; (Note that the double quoted string syntax is perfectly correct) If you want to support both HTTP and HTTPS, you can use $actual_link = (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? “https” : “http”) . “://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”; Editor’s note: using this code has security implications. The client can … Read more

mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc… expects parameter 1 to be resource

A query may fail for various reasons in which case both the mysql_* and the mysqli extension will return false from their respective query functions/methods. You need to test for that error condition and handle it accordingly. mysql_ extension: NOTE The mysql_ functions are deprecated and have been removed in php version 7. Check $result … Read more

How do I get the current date and time in PHP?

The time would go by your server time. An easy workaround for this is to manually set the timezone by using date_default_timezone_set before the date() or time() functions are called to. I’m in Melbourne, Australia so I have something like this: date_default_timezone_set(‘Australia/Melbourne’); Or another example is LA – US: date_default_timezone_set(‘America/Los_Angeles’); You can also see what … Read more

Where can I find php.ini?

On the command line execute: php –ini You will get something like: Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_sqlite.ini, /etc/php5/cli/conf.d/sqlite.ini, /etc/php5/cli/conf.d/sqlite3.ini, /etc/php5/cli/conf.d/xdebug.ini, /etc/php5/cli/conf.d/xsl.ini That’s from my local dev-machine. However, the second line is the interesting one. If there is … Read more