Title: ftp installation problems
Last modified: August 20, 2016

---

# ftp installation problems

 *  [Lubabalo](https://wordpress.org/support/users/lubabalo/)
 * (@lubabalo)
 * [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/)
 * Greetings
 * I am try to get started with wordpress but I am having problems. I uploaded the
   word press contents using filezilla to my host. The wp-config file has been properly
   edited,the MySQL database has been setup and my hosting company has enabled php
   support for my domain. I have uploaded the wordpress contents twice already without
   any success.
 * When I try to view install.php or the administration screen from a browser I 
   get the following:
    **‘backticks.rn int 1 when new day, 0 if not a new day. \*/
   function is_new_day() { global $day, $previousday; if ( $day != $previousday )
   return 1; else return 0; } /\*\* \* Build URL query based on an associative and,
   or indexed array. \* \* This is a convenient function for easily building url
   queries. It sets the \* separator to ‘&’ and uses _http_build_query() function.\*\*
   [@see](https://wordpress.org/support/users/see/) _http_build_query() Used to 
   build the query \* [@link](https://wordpress.org/support/users/link/) [http://us2.php.net/manual/en/function.http-build-query.php](http://us2.php.net/manual/en/function.http-build-query.php)
   more on what \* http_build_query() does. \* \* [@since](https://wordpress.org/support/users/since/)
   2.3.0 \* \* [@param](https://wordpress.org/support/users/param/) array $data 
   URL-encode key/value pairs. \* [@return](https://wordpress.org/support/users/return/)
   string URL encoded string \*/ function build_query( $data ) { return _http_build_query(
   $data, null, ‘&’, ”, false ); } /\*\* \* Retrieve a modified URL query string.\*\*
   You can rebuild the URL and append a new query variable to the URL query by \*
   using this function. You can also retrieve the full URL with query data. \* \*
   Adding a single key & value or an associative array. Setting a key value to \*
   emptystring removes the key. Omitting oldquery_or_uri uses the $_SERVER \* value.\*\*
   [@since](https://wordpress.org/support/users/since/) 1.5.0 \* \* [@param](https://wordpress.org/support/users/param/)
   mixed $param1 Either newkey or an associative_array \* [@param](https://wordpress.org/support/users/param/)
   mixed $param2 Either newvalue or oldquery or uri \* [@param](https://wordpress.org/support/users/param/)
   mixed $param3 Optional. Old query or uri \* [@return](https://wordpress.org/support/users/return/)
   string New URL query string. \*/ function add_query_arg() { $ret = ”; if ( is_array(
   func_get_arg(0) ) ) { if ( @func_num_args() < 2 || false === @func_get_arg( 1))
   $uri = $_SERVER[‘REQUEST_URI’]; else $uri = @func_get_arg( 1 ); } else { if (
   @func_num_args() < 3 || false === @func_get_arg( 2 ) ) $uri = $_SERVER[‘REQUEST_URI’];
   else $uri = @func_get_arg( 2 ); } if ( $frag = strstr( $uri, ‘#’ ) ) $uri = substr(
   $uri, 0, -strlen( $frag ) ); else $frag = ”; if ( preg_match( ‘|^https?://|i’,
   $uri, $matches ) ) { $protocol = $matches[0]; $uri = substr( $uri, strlen( $protocol));}
   else { $protocol = ”; } if ( strpos( $uri, ‘?’ ) !== false ) { $parts = explode(‘?’,
   $uri, 2 ); if ( 1 == count( $parts ) ) { $base = ‘?’; $query = $parts[0]; } else{
   $base = $parts[0] . ‘?’; $query = $parts[1]; } } elseif ( !empty( $protocol )
   || strpos( $uri, ‘=’ ) === false ) { $base = $uri . ‘?’; $query = ”; } else {
   $base = ”; $query = $uri; } wp_parse_str( $query, $qs ); $qs = urlencode_deep(
   $qs ); // this re-URL-encodes things that were already in the query string if(
   is_array( func_get_arg( 0 ) ) ) { $kayvees = func_get_arg( 0 ); $qs = array_merge(
   $qs, $kayvees ); } else { $qs[func_get_arg( 0 )] = func_get_arg( 1 ); } foreach((
   array) $qs as $k => $v ) { if ( $v === false ) unset( $qs[$k] ); } $ret = build_query(
   $qs ); $ret = trim( $ret, ‘?’ ); $ret = preg_replace( ‘#=(&|$)#’, ‘$1’, $ret );
   $ret = $protocol . $base . $ret . $frag; $ret = rtrim( $ret, ‘?’ ); return $ret;}/\*\*\*
   Removes an item or list from the query string. \* \* [@since](https://wordpress.org/support/users/since/)
   1.5.0 \* \* [@param](https://wordpress.org/support/users/param/) string|array
   $key Query key or keys to remove. \* [@param](https://wordpress.org/support/users/param/)
   bool $query When false uses the $_SERVER value. \* [@return](https://wordpress.org/support/users/return/)
   string New URL query string. \*/ function remove_query_arg( $key, $query=false){
   if ( is_array( $key ) ) { // removing multiple keys foreach ( $key as $k ) $query
   = add_query_arg( $k, false, $query ); return $query; } return add_query_arg( 
   $key, false, $query ); } /\*\* \* Walks the array while sanitizing the contents.\*\*
   [@since](https://wordpress.org/support/users/since/) 0.71 \* \* [@param](https://wordpress.org/support/users/param/)
   array $array Array to used to walk while sanitizing contents. \* [@return](https://wordpress.org/support/users/return/)
   array Sanitized $array. \*/ function add_magic_quotes( $array ) { foreach ( (
   array) $array as $k => $v ) { if ( is_array( $v ) ) { $array[$k] = add_magic_quotes(
   $v ); } else { $array[$k] = addslashes( $v ); } } return $array; } /\*\* \* HTTP
   request for URI to retrieve content. \* \* [@since](https://wordpress.org/support/users/since/)
   1.5.1 \* @uses wp_remote_get() \* \* [@param](https://wordpress.org/support/users/param/)
   string $uri URI/URL of web page to retrieve. \* [@return](https://wordpress.org/support/users/return/)
   bool|string HTTP content. False on failure. \*/ function wp_remote_fopen( $uri){
   $parsed_url = @parse_url( $uri ); if ( !$parsed_url || !is_array( $parsed_url))
   return false; $options = array(); $options[‘timeout’] = 10; $response = wp_remote_get(
   $uri, $options ); if ( is_wp_error( $response ) ) return false; return $response[‘
   body’]; } /\*\* \* Set up the WordPress query. \* \* [@since](https://wordpress.org/support/users/since/)
   2.0.0 \* \* [@param](https://wordpress.org/support/users/param/) string $query_vars
   Default WP_Query arguments. \*/ function wp( $query_vars = ” ) { global $wp, 
   $wp_query, $wp_the_query; $wp->main( $query_vars ); if ( !isset($wp_the_query))
   $wp_the_query = $wp_query; } /\*\* \* Retrieve the description for the HTTP status.\*\*
   [@since](https://wordpress.org/support/users/since/) 2.3.0 \* \* [@param](https://wordpress.org/support/users/param/)
   int $code HTTP status code. \* [@return](https://wordpress.org/support/users/return/)
   string Empty string if not found, or description if found. \*/ function get_status_header_desc(
   $code ) { global $wp_header_to_desc; $code = absint( $code ); if ( !isset( $wp_header_to_desc)){
   $wp_header_to_desc = array( 100 => ‘Continue’, 101 => ‘Switching Protocols’, 
   102 => ‘Processing’, 200 => ‘OK’, 201 => ‘Created’, 202 => ‘Accepted’, 203 =>‘
   Non-Authoritative Information’, 204 => ‘No Content’, 205 => ‘Reset Content’, 
   206 => ‘Partial Content’, 207 => ‘Multi-Status’, 226 => ‘IM Used’, 300 => ‘Multiple
   Choices’, 301 => ‘Moved Permanently’, 302 => ‘Found’, 303 => ‘See Other’, 304
   => ‘Not Modified’, 305 => ‘Use Proxy’, 306 => ‘Reserved’, 307 => ‘Temporary Redirect’,
   400 => ‘Bad Request’, 401 => ‘Unauthorized’, 402 => ‘Payment Required’, 403 =
   > ‘Forbidden’, 404 => ‘Not Found’, 405 => ‘Method Not Allowed’, 406 => ‘Not Acceptable’,
   407 => ‘Proxy Authentication Required’, 408 => ‘Request Timeout’, 409 => ‘Conflict’,
   410 => ‘Gone’, 411 => ‘Length Required’, 412 => ‘Precondition Failed’, 413 =>‘
   Request Entity Too Large’, 414 => ‘Request-URI Too Long’, 415 => ‘Unsupported
   Media Type’, 416 => ‘Requested Range Not Satisfiable’, 417 => ‘Expectation Failed’,
   422 => ‘Unprocessable Entity’, 423 => ‘Locked’, 424 => ‘Failed Dependency’, 426
   => ‘Upgrade Required’, 500 => ‘Internal Server Error’, 501 => ‘Not Implemented’,
   502 => ‘Bad Gateway’, 503 => ‘Service Unavailable’, 504 => ‘Gateway Timeout’,
   505 => ‘HTTP Version Not Supported’, 506 => ‘Variant Also Negotiates’, 507 =>‘
   Insufficient Storage’, 510 => ‘Not Extended’ ); } if ( isset( $wp_header_to_desc[
   $code] ) ) return $wp_header_to_desc[$code]; else return ”; } /\*\* \* Set HTTP
   status header. \* \* [@since](https://wordpress.org/support/users/since/) 2.0.0\*
   @uses apply_filters() Calls ‘status_header’ on status header string, HTTP \* 
   HTTP code, HTTP code description, and protocol string as separate \* parameters.\*\*
   [@param](https://wordpress.org/support/users/param/) int $header HTTP status 
   code \* [@return](https://wordpress.org/support/users/return/) unknown \*/ function
   status_header( $header ) { $text = get_status_header_desc( $header ); if ( empty(
   $text ) ) return false; $protocol = $_SERVER[“SERVER_PROTOCOL”]; if ( ‘HTTP/1.1’!
   = $protocol && ‘HTTP/1.0’ != $protocol ) $protocol = ‘HTTP/1.0’; $status_header
   = “$protocol $header $text”; if ( function_exists( ‘apply_filters’ ) ) $status_header
   = apply_filters( ‘status_header’, $status_header, $header, $text, $protocol );
   return [@header](https://wordpress.org/support/users/header/)( $status_header,
   true, $header ); } /\*\* \* Gets the header information to prevent caching. \*\*
   The several different headers cover the different ways cache prevention is handled\*
   by different browsers \* \* [@since](https://wordpress.org/support/users/since/)
   2.8 \* \* @uses apply_filters() \* [@return](https://wordpress.org/support/users/return/)
   array The associative array of header names and field values. \*/ function wp_get_nocache_headers(){
   $headers = array( ‘Expires’ => ‘Wed, 11 Jan 1984 05:00:00 GMT’, ‘Last-Modified’
   => gmdate( ‘D, d M Y H:i:s’ ) . ‘ GMT’, ‘Cache-Control’ => ‘no-cache, must-revalidate,
   max-age=0’, ‘Pragma’ => ‘no-cache’, ); if ( function_exists(‘apply_filters’) ){
   $headers = apply_filters(‘nocache_headers’, $headers); } return $headers; } /\*\*\*
   Sets the headers to prevent caching for the different browsers. \* \* Different
   browsers support different nocache headers, so several headers must \* be sent
   so that all of them get the point that no caching should occur. \* \* [@since](https://wordpress.org/support/users/since/)
   2.0.0 \* @uses wp_get_nocache_headers() \*/ function nocache_headers() { $headers
   = wp_get_nocache_headers(); foreach( (array) $headers as $name => $field_value)
   [@header](https://wordpress.org/support/users/header/)(“{$name}: {$field_value}”);}/\*\*\*
   Set the headers for caching for 10 days with JavaScript content type. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \*/ function cache_javascript_headers() { $expiresOffset = 864000; // 10
   days header( “Content-Type: text/javascript; charset=” . get_bloginfo( ‘charset’));
   header( “Vary: Accept-Encoding” ); // Handle proxies header( “Expires: ” . gmdate(“
   D, d M Y H:i:s”, time() + $expiresOffset ) . ” GMT” ); } /\*\* \* Retrieve the
   number of database queries during the WordPress execution. \* \* [@since](https://wordpress.org/support/users/since/)
   2.0.0 \* \* [@return](https://wordpress.org/support/users/return/) int Number
   of database queries \*/ function get_num_queries() { global $wpdb; return $wpdb-
   >num_queries; } /\*\* \* Whether input is yes or no. Must be ‘y’ to be true. \*\*
   [@since](https://wordpress.org/support/users/since/) 1.0.0 \* \* [@param](https://wordpress.org/support/users/param/)
   string $yn Character string containing either ‘y’ or ‘n’ \* [@return](https://wordpress.org/support/users/return/)
   bool True if yes, false on anything else \*/ function bool_from_yn( $yn ) { return(
   strtolower( $yn ) == ‘y’ ); } /\*\* \* Loads the feed template from the use of
   an action hook. \* \* If the feed action does not have a hook, then the function
   will die with a \* message telling the visitor that the feed is not valid. \*\*
   It is better to only have one hook for each feed. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \* @uses $wp_query Used to tell if the use a comment feed. \* @uses do_action()
   Calls ‘do_feed_$feed’ hook, if a hook exists for the feed. \*/ function do_feed(){
   global $wp_query; $feed = get_query_var( ‘feed’ ); // Remove the pad, if present.
   $feed = preg_replace( ‘/^_+/’, ”, $feed ); if ( $feed == ” || $feed == ‘feed’)
   $feed = get_default_feed(); $hook = ‘do_feed_’ . $feed; if ( !has_action($hook)){
   $message = sprintf( __( ‘ERROR: %s is not a valid feed template.’ ), esc_html(
   $feed)); wp_die( $message, ”, array( ‘response’ => 404 ) ); } do_action( $hook,
   $wp_query->is_comment_feed ); } /\*\* \* Load the RDF RSS 0.91 Feed template.\*\*
   [@since](https://wordpress.org/support/users/since/) 2.1.0 \*/ function do_feed_rdf(){
   load_template( ABSPATH . WPINC . ‘/feed-rdf.php’ ); } /\*\* \* Load the RSS 1.0
   Feed Template \* \* [@since](https://wordpress.org/support/users/since/) 2.1.0\*/
   function do_feed_rss() { load_template( ABSPATH . WPINC . ‘/feed-rss.php’ ); }/\*\*\*
   Load either the RSS2 comment feed or the RSS2 posts feed. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \* \* [@param](https://wordpress.org/support/users/param/) bool $for_comments
   True for the comment feed, false for normal feed. \*/ function do_feed_rss2( 
   $for_comments ) { if ( $for_comments ) load_template( ABSPATH . WPINC . ‘/feed-
   rss2-comments.php’ ); else load_template( ABSPATH . WPINC . ‘/feed-rss2.php’ );}/\*\*\*
   Load either Atom comment feed or Atom posts feed. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \* \* [@param](https://wordpress.org/support/users/param/) bool $for_comments
   True for the comment feed, false for normal feed. \*/ function do_feed_atom( 
   $for_comments ) { if ($for_comments) load_template( ABSPATH . WPINC . ‘/feed-
   atom-comments.php’); else load_template( ABSPATH . WPINC . ‘/feed-atom.php’ );}/\*\*\*
   Display the robot.txt file content. \* \* The echo content should be with usage
   of the permalinks or for creating the \* robot.txt file. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \* @uses do_action() Calls ‘do_robotstxt’ hook for displaying robot.txt
   rules. \*/ function do_robots() { header( ‘Content-Type: text/plain; charset=
   utf-8’ ); do_action( ‘do_robotstxt’ ); $output = ”; $public = get_option( ‘blog_public’);
   if ( ‘0’ == $public ) { $output .= “User-agent: \*\n”; $output .= “Disallow: /\
   n”; } else { $output .= “User-agent: \*\n”; $output .= “Disallow:\n”; } echo 
   apply_filters(‘robots_txt’, $output, $public); } /\*\* \* Test whether blog is
   already installed. \* \* The cache will be checked first. If you have a cache
   plugin, which saves the \* cache values, then this will work. If you use the 
   default WordPress cache, \* and the database goes away, then you might have problems.\*\*
   Checks for the option siteurl for whether WordPress is installed. \* \* [@since](https://wordpress.org/support/users/since/)
   2.1.0 \* @uses $wpdb \* \* [@return](https://wordpress.org/support/users/return/)
   bool Whether blog is already installed. \*/ function is_blog_installed() { global
   $wpdb; // Check cache first. If options table goes away and we have true cached,
   oh well. if ( wp_cache_get( ‘is_blog_installed’ ) ) return true; $suppress = 
   $wpdb->suppress_errors(); if ( ! defined( ‘WP_INSTALLING’ ) ) { $alloptions =
   wp_load_alloptions(); } // If siteurl is not set to autoload, check it specifically
   if ( !isset( $alloptions[‘siteurl’] ) ) $installed = $wpdb->get_var( “SELECT 
   option_value FROM $wpdb->options WHERE option_name = ‘siteurl'” ); else $installed
   = $alloptions[‘siteurl’]; $wpdb->suppress_errors( $suppress ); $installed = !
   empty( $installed ); wp_cache_set( ‘is_blog_installed’, $installed ); if ( $installed)
   return true; $suppress = $wpdb->suppress_errors(); $tables = $wpdb->get_col(‘
   SHOW TABLES’); $wpdb->suppress_errors( $suppress ); $wp_tables = $wpdb->tables();//
   Loop over the WP tables. If none exist, then scratch install is allowed. // If
   one or more exist, suggest table repair since we got here because the options//
   table could not be accessed. foreach ( $wp_tables as $table ) { // If one of 
   the WP tables exist, then we are in an insane state. if ( in_array( $table, $
   tables ) ) { // The existence of custom user tables shouldn’t suggest an insane
   state or prevent a clean install. if ( defined( ‘CUSTOM_USER_TABLE’ ) && CUSTOM_USER_TABLE
   == $table ) continue; if ( defined( ‘CUSTOM_USER_META_TABLE’ ) && CUSTOM_USER_META_TABLE
   == $table ) continue; // If visiting repair.ps_db = $wpdb->get_results( “SELECT
   option_name, option_value FROM $wpdb->options” ); $wpdb->suppress_errors($suppress);
   $alloptions = array(); foreach ( (array) $alloptions_db as $o ) $alloptions[$
   o->option_name] = $o->option_value; if ( !defined( ‘WP_INSTALLING’ ) || !is_multisite())
   wp_cache_add( ‘alloptions’, $alloptions, ‘options’ ); } return $alloptions; }/\*\*\*
   Loads and caches certain often requested site options if is_multisite() and a
   peristent cache is not being used. \* \* [@since](https://wordpress.org/support/users/since/)
   3.0.0 \* [@package](https://wordpress.org/support/users/package/) WordPress \*
   @subpackage Option \* \* [@param](https://wordpress.org/support/users/param/)
   int $site_id Optional site ID for which to query the options. Defaults to the
   current site. \*/ function wp_load_core_site_options( $site_id = null ) { global
   $wpdb, $_wp_using_ext_object_cache; if ( !is_multisite() || $_wp_using_ext_object_cache
   || defined( ‘WP_INSTALLING’ ) ) return; if ( empty($site_id) ) $site_id = $wpdb-
   >siteid; $core_options = array(‘site_name’, ‘siteurl’, ‘active_sitewide_plugins’,‘
   _site_transient_timeout_theme_roots’, ‘_site_transient_theme_roots’, ‘site_admins’,‘
   dashboard_blog’, ‘can_compress_scripts’, ‘global_terms_enabled’ ); $core_options_in
   = “‘” . implode(“‘, ‘”, $core_options) . “‘”; $options = $wpdb->get_results( 
   $wpdb->prepare(“SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key
   IN ($core_options_in) AND site_id = %d”, $site_id) ); foreach ( $options as $
   option ) { $key = $option->meta_key; $cache_key = “{$site_id}:$key”; $option-
   >meta_value = maybe_unserialize( $option->meta_value ); wp_cache_set( $cache_key,
   $option->meta_value, ‘site-options’ ); } } /\*\* \* Update the value of an option
   that was already added. \* \* You do not need to serialize values. If the value
   needs to be serialized, then \* it will be serialized before it is inserted into
   the database. Remember, \* resources can not be serialized or added as an option.\*\*
   If the option does not exist, then the option will be added with the option \*
   value, but you will not be able to set whether it is autoloaded. If you want \*
   to set whether an option is autoloaded, then you need to use the add_option().\*\*
   [@since](https://wordpress.org/support/users/since/) 1.0.0 \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* \* @uses apply_filters() Calls ‘pre_update_option_
   $option’ hook to allow overwriting the \* option value to be stored. \* @uses
   do_action() Calls ‘update_option’ hook before updating the option. \* @uses do_action()
   Calls ‘update_option_$option’ and ‘updated_option’ hooks on success. \* \* [@param](https://wordpress.org/support/users/param/)
   string $option Option name. Expected to not be SQL-escaped. \* [@param](https://wordpress.org/support/users/param/)
   mixed $newvalue Option value. Expected to not be SQL-escaped. \* [@return](https://wordpress.org/support/users/return/)
   bool False if value was not updated and true if value was updated. \*/ function
   update_option( $option, $newvalue ) { global $wpdb; $option = trim($option); 
   if ( empty($option) ) return false; wp_protect_special_option( $option ); if (
   is_object($newvalue) ) $newvalue = wp_clone($newvalue); $newvalue = sanitize_option(
   $option, $newvalue ); $oldvalue = get_option( $option ); $newvalue = apply_filters(‘
   pre_update_option_’ . $option, $newvalue, $oldvalue ); // If the new and old 
   values are the same, no need to update. if ( $newvalue === $oldvalue ) return
   false; if ( false === $oldvalue ) return add_option( $option, $newvalue ); $notoptions
   = wp_cache_get( ‘notoptions’, ‘options’ ); if ( is_array( $notoptions ) && isset(
   $notoptions[$option] ) ) { unset( $notoptions[$option] ); wp_cache_set( ‘notoptions’,
   $notoptions, ‘options’ ); } $_newvalue = $newvalue; $newvalue = maybe_serialize(
   $newvalue ); do_action( ‘update_option’, $option, $oldvalue, $_newvalue ); if(!
   defined( ‘WP_INSTALLING’ ) ) { $alloptions = wp_load_alloptions(); if ( isset(
   $alloptions[$option] ) ) { $alloptions[$option] = $_newvalue; wp_cache_set( ‘
   alloptions’, $alloptions, ‘options’ ); } else { wp_cache_set( $option, $_newvalue,‘
   options’ ); } } $result = $wpdb->update( $wpdb->options, array( ‘option_value’
   => $newvalue ), array( ‘option_name’ => $option ) ); if ( $result ) { do_action(“
   update_option_{$option}”, $oldvalue, $_newvalue ); do_action( ‘updated_option’,
   $option, $oldvalue, $_newvalue ); return true; } return false; } /\*\* \* Add
   a new option. \* \* You do not need to serialize values. If the value needs to
   be serialized, then \* it will be serialized before it is inserted into the database.
   Remember, \* resources can not be serialized or added as an option. \* \* You
   can create options without values and then add values later. Does not \* check
   whether the option has already been added, but does check that you \* aren’t 
   adding a protected WordPress option. Care should be taken to not name \* options
   the same as the ones which are protected and to not add options \* that were 
   already added. \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   1.0.0 \* [@link](https://wordpress.org/support/users/link/) [http://alex.vort-x.net/blog/](http://alex.vort-x.net/blog/)
   Thanks Alex Stapleton \* \* @uses do_action() Calls ‘add_option’ hook before 
   adding the option. \* @uses do_action() Calls ‘add_option_$option’ and ‘added_option’
   hooks on success. \* \* [@param](https://wordpress.org/support/users/param/) 
   string $option Name of option to add. Expected to not be SQL-escaped. \* [@param](https://wordpress.org/support/users/param/)
   mixed $value Optional. Option value, can be anything. Expected to not be SQL-
   escaped. \* [@param](https://wordpress.org/support/users/param/) mixed $deprecated
   Optional. Description. Not used anymore. \* [@param](https://wordpress.org/support/users/param/)
   bool $autoload Optional. Default is enabled. Whether to load the option when 
   WordPress starts up. \* [@return](https://wordpress.org/support/users/return/)
   null returns when finished. \*/ function add_option( $option, $value = ”, $deprecated
   = ”, $autoload = ‘yes’ ) { global $wpdb; if ( !empty( $deprecated ) ) _deprecated_argument(
   __FUNCTION__, ‘2.3’ ); $option = trim($option); if ( empty($option) ) return 
   false; wp_protect_special_option( $option ); if ( is_object($value) ) $value 
   = wp_clone($value); $value = sanitize_option( $option, $value ); // Make sure
   the option doesn’t already exist. We can check the ‘notoptions’ cache before 
   we ask for a db query $notoptions = wp_cache_get( ‘notoptions’, ‘options’ ); 
   if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) ) if ( false !
   == get_option( $option ) ) return; $_value = $value; $value = maybe_serialize(
   $value ); $autoload = ( ‘no’ === $autoload ) ? ‘no’ : ‘yes’; do_action( ‘add_option’,
   $option, $_value ); if ( ! defined( ‘WP_INSTALLING’ ) ) { if ( ‘yes’ == $autoload){
   $alloptions = wp_load_alloptions(); $alloptions[$option] = $value; wp_cache_set(‘
   alloptions’, $alloptions, ‘options’ ); } else { wp_cache_set( $option, $value,‘
   options’ ); } } // This option exists now $notoptions = wp_cache_get( ‘notoptions’,‘
   options’ ); // yes, again… we need it to be fresh if ( is_array( $notoptions )&&
   isset( $notoptions[$option] ) ) { unset( $notoptions[$option] ); wp_cache_set(‘
   notoptions’, $notoptions, ‘options’ ); } $result = $wpdb->query( $wpdb->prepare(“
   INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES(%
   s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value`
   = VALUES(`option_value`), `autoload` = VALUES(`autoload`)”, $option, $value, 
   $autoload ) ); if ( $result ) { do_action( “add_option_{$option}”, $option, $
   _value ); do_action( ‘added_option’, $option, $_value ); return true; } return
   false; } /\*\* \* Removes option by name. Prevents removal of protected WordPress
   options. \* \* [@package](https://wordpress.org/support/users/package/) WordPress\*
   @subpackage Option \* [@since](https://wordpress.org/support/users/since/) 1.2.0\*\*
   @uses do_action() Calls ‘delete_option’ hook before option is deleted. \* @uses
   do_action() Calls ‘deleted_option’ and ‘delete_option_$option’ hooks on success.\*\*
   [@param](https://wordpress.org/support/users/param/) string $option Name of option
   to remove. Expected to not be SQL-escaped. \* [@return](https://wordpress.org/support/users/return/)
   bool True, if option is successfully deleted. False on failure. \*/ function 
   delete_option( $option ) { global $wpdb; wp_protect_special_option( $option );//
   Get the ID, if no ID then return $row = $wpdb->get_row( $wpdb->prepare( “SELECT
   autoload FROM $wpdb->options WHERE option_name = %s”, $option ) ); if ( is_null(
   $row ) ) return false; do_action( ‘delete_option’, $option ); $result = $wpdb-
   >query( $wpdb->prepare( “DELETE FROM $wpdb->options WHERE option_name = %s”, 
   $option) ); if ( ! defined( ‘WP_INSTALLING’ ) ) { if ( ‘yes’ == $row->autoload){
   $alloptions = wp_load_alloptions(); if ( is_array( $alloptions ) && isset( $alloptions[
   $option] ) ) { unset( $alloptions[$option] ); wp_cache_set( ‘alloptions’, $alloptions,‘
   options’ ); } } else { wp_cache_delete( $option, ‘options’ ); } } if ( $result){
   do_action( “delete_option_$option”, $option ); do_action( ‘deleted_option’, $
   option ); return true; } return false; } /\*\* \* Delete a transient \* \* [@since](https://wordpress.org/support/users/since/)
   2.8.0 \* [@package](https://wordpress.org/support/users/package/) WordPress \*
   @subpackage Transient \* \* @uses do_action() Calls ‘delete_transient_$transient’
   hook before transient is deleted. \* @uses do_action() Calls ‘deleted_transient’
   hook on success. \* \* [@param](https://wordpress.org/support/users/param/) string
   $transient Transient name. Expected to not be SQL-escaped. \* [@return](https://wordpress.org/support/users/return/)
   bool true if successful, false otherwise \*/ function delete_transient( $transient){
   global $_wp_using_ext_object_cache; do_action( ‘delete_transient_’ . $transient,
   $transient ); if ( $_wp_using_ext_object_cache ) { $result = wp_cache_delete(
   $transient, ‘transient’ ); } else { $option_timeout = ‘_transient_timeout_’ .
   $transient; $option = ‘_transient_’ . $transient; $result = delete_option( $option);
   if ( $result ) delete_option( $option_timeout ); } if ( $result ) do_action( ‘
   deleted_transient’, $transient ); return $result; } /\*\* \* Get the value of
   a transient \* \* If the transient does not exist or does not have a value, then
   the return value \* will be false. \* \* @uses apply_filters() Calls ‘pre_transient_
   $transient’ hook before checking the transient. \* Any value other than false
   will “short-circuit” the retrieval of the transient \* and return the returned
   value. \* @uses apply_filters() Calls ‘transient_$option’ hook, after checking
   the transient, with \* the transient value. \* \* [@since](https://wordpress.org/support/users/since/)
   2.8.0 \* [@package](https://wordpress.org/support/users/package/) WordPress \*
   @subpackage Transient \* \* [@param](https://wordpress.org/support/users/param/)
   string $transient Transient name. Expected to not be SQL-escaped \* [@return](https://wordpress.org/support/users/return/)
   mixed Value of transient \*/ function get_transient( $transient ) { global $_wp_using_ext_object_cache;
   $pre = apply_filters( ‘pre_transient_’ . $transient, false ); if ( false !== 
   $pre ) return $pre; if ( $_wp_using_ext_object_cache ) { $value = wp_cache_get(
   $transient, ‘transient’ ); } else { $transient_option = ‘_transient_’ . $transient;
   if ( ! defined( ‘WP_INSTALLING’ ) ) { // If option is not in alloptions, it is
   not autoloaded and thus has a timeout $alloptions = wp_load_alloptions(); if (!
   isset( $alloptions[$transient_option] ) ) { $transient_timeout = ‘_transient_timeout_’.
   $transient; if ( get_option( $transient_timeout ) < time() ) { delete_option(
   $transient_option ); delete_option( $transient_timeout ); return false; } } }
   $value = get_option( $transient_option ); } return apply_filters( ‘transient_’.
   $transient, $value ); } /\*\* \* Set/update the value of a transient \* \* You
   do not need to serialize values. If the value needs to be serialized, then \*
   it will be serialized before it is set. \* \* [@since](https://wordpress.org/support/users/since/)
   2.8.0 \* [@package](https://wordpress.org/support/users/package/) WordPress \*
   @subpackage Transient \* \* @uses apply_filters() Calls ‘pre_set_transient_$transient’
   hook to allow overwriting the \* transient value to be stored. \* @uses do_action()
   Calls ‘set_transient_$transient’ and ‘setted_transient’ hooks on success. \* \*
   [@param](https://wordpress.org/support/users/param/) string $transient Transient
   name. Expected to not be SQL-escaped. \* [@param](https://wordpress.org/support/users/param/)
   mixed $value Transient value. Expected to not be SQL-escaped. \* [@param](https://wordpress.org/support/users/param/)
   int $expiration Time until expiration in seconds, default 0 \* [@return](https://wordpress.org/support/users/return/)
   bool False if value was not set and true if value was set. \*/ function set_transient(
   $transient, $value, $expiration = 0 ) { global $_wp_using_ext_object_cache; $
   value = apply_filters( ‘pre_set_transient_’ . $transient, $value ); if ( $_wp_using_ext_object_cache){
   $result = wp_cache_set( $transient, $value, ‘transient’, $expiration ); } else{
   $transient_timeout = ‘_transient_timeout_’ . $transient; $transient = ‘_transient_’.
   $transient; if ( false === get_option( $transient ) ) { $autoload = ‘yes’; if(
   $expiration ) { $autoload = ‘no’; add_option( $transient_timeout, time() + $expiration,”,‘
   no’ ); } $result = add_option( $transient, $value, ”, $autoload ); } else { if(
   $expiration ) update_option( $transient_timeout, time() + $expiration ); $result
   = update_option( $transient, $value ); } } if ( $result ) { do_action( ‘set_transient_’.
   $transient ); do_action( ‘setted_transient’, $transient ); } return $result; }/\*\*\*
   Saves and restores user interface settings stored in a cookie. \* \* Checks if
   the current user-settings cookie is updated and stores it. When no \* cookie 
   exists (different browser used), adds the last saved cookie restoring \* the 
   settings. \* \* [@package](https://wordpress.org/support/users/package/) WordPress\*
   @subpackage Option \* [@since](https://wordpress.org/support/users/since/) 2.7.0\*/
   function wp_user_settings() { if ( ! is_admin() ) return; if ( defined(‘DOING_AJAX’))
   return; if ( ! $user = wp_get_current_user() ) return; $settings = get_user_option(‘
   user-settings’, $user->ID ); if ( isset( $_COOKIE[‘wp-settings-‘ . $user->ID])){
   $cookie = preg_replace( ‘/[^A-Za-z0-9=&_]/’, ”, $_COOKIE[‘wp-settings-‘ . $user-
   >ID] ); if ( ! empty( $cookie ) && strpos( $cookie, ‘=’ ) ) { if ( $cookie ==
   $settings ) return; $last_time = (int) get_user_option( ‘user-settings-time’,
   $user->ID ); $saved = isset( $_COOKIE[‘wp-settings-time-‘ . $user->ID]) ? preg_replace(‘/[
   ^0-9]/’, ”, $_COOKIE[‘wp-settings-time-‘ . $user->ID] ) : 0; if ( $saved > $last_time){
   update_user_option( $user->ID, ‘user-settings’, $cookie, false ); update_user_option(
   $user->ID, ‘user-settings-time’, time() – 5, false ); return; } } } setcookie(‘
   wp-settings-‘ . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH ); setcookie(‘
   wp-settings-time-‘ . $user->ID, time(), time() + 31536000, SITECOOKIEPATH ); 
   $_COOKIE[‘wp-settings-‘ . $user->ID] = $settings; } /\*\* \* Retrieve user interface
   setting value based on setting name. \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   2.7.0 \* \* [@param](https://wordpress.org/support/users/param/) string $name
   The name of the setting. \* [@param](https://wordpress.org/support/users/param/)
   string $default Optional default value to return when $name is not set. \* [@return](https://wordpress.org/support/users/return/)
   mixed the last saved user setting or the default value/false if it doesn’t exist.\*/
   function get_user_setting( $name, $default = false ) { $all = get_all_user_settings();
   return isset($all[$name]) ? $all[$name] : $default; } /\*\* \* Add or update 
   user interface setting. \* \* Both $name and $value can contain only ASCII letters,
   numbers and underscores. \* This function has to be used before any output has
   started as it calls setcookie(). \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   2.8.0 \* \* [@param](https://wordpress.org/support/users/param/) string $name
   The name of the setting. \* [@param](https://wordpress.org/support/users/param/)
   string $value The value for the setting. \* [@return](https://wordpress.org/support/users/return/)
   bool true if set successfully/false if not. \*/ function set_user_setting( $name,
   $value ) { if ( headers_sent() ) return false; $all = get_all_user_settings();
   $name = preg_replace( ‘/[^A-Za-z0-9_]+/’, ”, $name ); if ( empty($name) ) return
   false; $all[$name] = $value; return wp_set_all_user_settings($all); } /\*\* \*
   Delete user interface settings. \* \* Deleting settings would reset them to the
   defaults. \* This function has to be used before any output has started as it
   calls setcookie(). \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   2.7.0 \* \* [@param](https://wordpress.org/support/users/param/) mixed $names
   The name or array of names of the setting to be deleted. \* [@return](https://wordpress.org/support/users/return/)
   bool true if deleted successfully/false if not. \*/ function delete_user_setting(
   $names ) { if ( headers_sent() ) return false; $all = get_all_user_settings();
   $names = (array) $names; foreach ( $names as $name ) { if ( isset($all[$name])){
   unset($all[$name]); $deleted = true; } } if ( isset($deleted) ) return wp_set_all_user_settings(
   $all); return false; } /\*\* \* Retrieve all user interface settings. \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   2.7.0 \* \* [@return](https://wordpress.org/support/users/return/) array the 
   last saved user settings or empty array. \*/ function get_all_user_settings(){
   global $_updated_user_settings; if ( ! $user = wp_get_current_user() ) return
   array(); if ( isset($_updated_user_settings) && is_array($_updated_user_settings))
   return $_updated_user_settings; $all = array(); if ( isset($_COOKIE[‘wp-settings-‘.
   $user->ID]) ) { $cookie = preg_replace( ‘/[^A-Za-z0-9=&_]/’, ”, $_COOKIE[‘wp-
   settings-‘ . $user->ID] ); if ( $cookie && strpos($cookie, ‘=’) ) // the ‘=’ 
   cannot be 1st char parse_str($cookie, $all); } else { $option = get_user_option(‘
   user-settings’, $user->ID); if ( $option && is_string($option) ) parse_str( $
   option, $all ); } return $all; } /\*\* \* Private. Set all user interface settings.\*\*
   [@package](https://wordpress.org/support/users/package/) WordPress \* @subpackage
   Option \* [@since](https://wordpress.org/support/users/since/) 2.8.0 \* \* [@param](https://wordpress.org/support/users/param/)
   unknown $all \* [@return](https://wordpress.org/support/users/return/) bool \*/
   function wp_set_all_user_settings($all) { global $_updated_user_settings; if (!
   $user = wp_get_current_user() ) return false; $_updated_user_settings = $all;
   $settings = ”; foreach ( $all as $k => $v ) { $v = preg_replace( ‘/[^A-Za-z0-
   9_]+/’, ”, $v ); $settings .= $k . ‘=’ . $v . ‘&’; } $settings = rtrim($settings,‘&’);
   update_user_option( $user->ID, ‘user-settings’, $settings, false ); update_user_option(
   $user->ID, ‘user-settings-time’, time(), false ); return true; } /\*\* \* Delete
   the user settings of the current user. \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage Option \* [@since](https://wordpress.org/support/users/since/)
   2.7.0 \*/ function delete_all_user_settings() { if ( ! $user = wp_get_current_user())
   return; update_user_option( $user->ID, ‘user-settings’, ”, false ); setcookie(‘
   wp-settings-‘ . $user->ID, ‘ ‘, time() – 31536000, SITECOOKIEPATH); } /\*\* \*
   Serialize data, if needed. \* \* [@since](https://wordpress.org/support/users/since/)
   2.0.5 \* \* [@param](https://wordpress.org/support/users/param/) mixed $data 
   Data that might be serialized. \* [@return](https://wordpress.org/support/users/return/)
   mixed A scalar data \*/ function maybe_serialize( $data ) { if ( is_array( $data)
   || is_object( $data ) ) return serialize( $data ); if ( is_serialized( $data ))
   return serialize( $data ); return $data; } /\*\* \* Retrieve post title from 
   XMLRPC XML. \* \* If the title element is not part of the XML, then the default
   post title from \* the $post_default_title will be used instead. \* \* [@package](https://wordpress.org/support/users/package/)
   WordPress \* @subpackage XMLRPC \* [@since](https://wordpress.org/support/users/since/)
   0.71 \* \* [@global](https://wordpress.org/support/users/global/) string $post_default_title
   Default XMLRPC post title. \* \* [@param](https://wordpress.org/support/users/param/)
   string $content XMLRPC XML Request content \* [@return](https://wordpress.org/support/users/return/)
   string Post title \*/ function xmlrpc_getposttitle( $content ) { global $post_default_title;
   if ( preg_match( ‘/’**
 * This is my first experience with php and wordpress and I am not sure what the
   error means and how to fix it. I hope I didnt paste any details that will make
   my site vulnerable.
 * Please help if you can .thank you

Viewing 4 replies - 1 through 4 (of 4 total)

 *  [govpatel](https://wordpress.org/support/users/govpatel/)
 * (@govpatel)
 * [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/#post-2148474)
 * Do you know what type server you have linux or windows this some thing new.
 * where did you upload wordpress files and folders.
 *  Thread Starter [Lubabalo](https://wordpress.org/support/users/lubabalo/)
 * (@lubabalo)
 * [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/#post-2148479)
 * I am using a windows server and I created a directory called wordpress in web
   root directory . I uploaded the wordpress contents under the ‘wordpress’ directory
   I created in the web root (wwwroot) as they are
 *  [govpatel](https://wordpress.org/support/users/govpatel/)
 * (@govpatel)
 * [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/#post-2148497)
 * Did you check with your host if they have php installed on server as wordpress
   needs php
 *  Thread Starter [Lubabalo](https://wordpress.org/support/users/lubabalo/)
 * (@lubabalo)
 * [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/#post-2148537)
 * Yes I did, the hosting company does have php installed on the server and they
   have enabled php support

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘ftp installation problems’ is closed to new replies.

## Tags

 * [FileZilla](https://wordpress.org/support/topic-tag/filezilla/)
 * [installation](https://wordpress.org/support/topic-tag/installation/)
 * [Installation Problems](https://wordpress.org/support/topic-tag/installation-problems/)

 * In: [Installing WordPress](https://wordpress.org/support/forum/installation/)
 * 4 replies
 * 2 participants
 * Last reply from: [Lubabalo](https://wordpress.org/support/users/lubabalo/)
 * Last activity: [14 years, 11 months ago](https://wordpress.org/support/topic/ftp-installation-problems/#post-2148537)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
