1

I have a php code that create an html file, insert some data and upload it inside a folder. How can i add my custom php code inside post-new.php so when the post is published to do this...

Also i need to get the post future image path, post url and post title.

Thank you all!

MY code is:

$my_file = 'myindex.html';
$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); //implicitly creates file

$stringData = "<!doctype html>\n";
fwrite($handle, $stringData);
$stringData = "<html>\n";
fwrite($handle, $stringData);
$stringData = "<head>\n";
fwrite($handle, $stringData);
$stringData = "<meta charset='utf-8'>\n";
fwrite($handle, $stringData);
$stringData = "<title>MyYiyle</title>\n";
fwrite($handle, $stringData);
$stringData = "<meta property='og:type' content='Article' />\n";
fwrite($handle, $stringData);
$stringData = "<meta property='og:image' content='' />\n";
fwrite($handle, $stringData);
$stringData = "<meta property='og:image:width' content='640' />\n";
fwrite($handle, $stringData);
$stringData = "<meta property='og:image:height' content='360' />\n";
fwrite($handle, $stringData);
$stringData = "<meta name='image' content='' /> \n";
fwrite($handle, $stringData);
$stringData = "</head>\n";
fwrite($handle, $stringData);
$stringData = "<body>\n";
fwrite($handle, $stringData);
$stringData = "</body>\n";
fwrite($handle, $stringData);
$stringData = "</html>\n";
fwrite($handle, $stringData);

if (fclose($handle)){


// FTP access parameters
$host = 'xxx';
$usr = 'xxx';
$pwd = 'xxx';

// file to move:
$local_file = './' . $my_file;
$ftp_path = '/newposts/' . $my_file;

// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");

// send access parameters
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");

// turn on passive mode transfers (some servers need this)
//ftp_pasv ($conn_id, true);

// perform file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);

// check upload status:
print (!$upload) ? 'Cannot upload' : 'Upload complete';
print "\n";

/*
** Chmod the file (just as example)
*/

// If you are using PHP4 then you need to use this code:
// (because the "ftp_chmod" command is just available in PHP5+)

/*
if (!function_exists('ftp_chmod')) {
   function ftp_chmod($ftp_stream, $mode, $filename){
        return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
   }
}
 */

// try to chmod the new file to 666 (writeable)
/*
if (ftp_chmod($conn_id, 777, $ftp_path) !== false) {
    print $ftp_path . " chmoded successfully to 666\n";
} else {
    print "could not chmod $file\n";
}
 */
// close the FTP stream
ftp_close($conn_id);


}
2
  • @JayBhatt thanks for your reply.. usefull article.. one question... where must i put my code? Commented Jun 17, 2014 at 17:58
  • 1
    Create a function and put your code inside that function and store this function inside your function.php file and then register your function with the hook as described in the article. Commented Jun 17, 2014 at 18:00

1 Answer 1

3

Check out Wordpress's Action hooks, and include them in your theme:

http://codex.wordpress.org/Plugin_API/Action_Reference

'publish_page', 'publish_post' or something similar is probably what you need.

'save_post' occurs when a post is added, and includes the post object (url/slug, title, etc)

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.