| BlackKite |
08-11-2006 07:01 PM |
ftp_fput() Please Help
Hello,
My script is supposed to upload a temp file, create a new file and copy the contents of the temp file to the new one. Its doing all this so that I have permission to edit it in cpanel, if needed, once its created. Im having ftp_chmod chmod my public html file to 777 so it can make the files then close it back to 750. The script then chmods my index.php and posts a link to the new file on my navigation and closes it back to 644. Everything works fin except the creating and copying from the temp file thing.
For some reason its not creating what i think is the temp file, but instead creating a file with the name of one of my variables $ourFile. I've tried just about everything i can think of, and am hoping now that someone else will be able to help me out. Thanks!
Error:
Quote:
Warning: ftp_fput() [function.ftp-fput]: Rename/move failure: No such file or directory in /home/jaboo12/public_html/staff2/guide_p/game_p.php on line 52
|
Line 52:
PHP Code:
ftp_fput($connection, $tempfile, $bandle, FTP_ASCII);
My Code:
PHP Code:
<?php
//Check for file existence;
$ourFile = $_POST['title'];
$filename = "/home/jaboo12/public_html/$ourFile";
if (file_exists("$filename")) {
echo "The file $filename already exists. Please hit the back button and choose a new one";
exit();
} else {
echo "<center> Thank you for uploading your guide $ourLinkName ($ourFile). I has been posted to the neohound site. Please click <a href=\"http://www.neohound.com/staff2\">HERE</a> to returne to the staff panel.</center>";
}
//If it doesn't exist, login to FTP and chmod;
###########################
# ftp settings #
$ftpServer='ftp.neohound.com'; //ftp server, without ftp://
$ftpPort=21; //the ftp port (don't change if you don't know what it is)
$ftpUser='XXXXXX'; //ftp username
$ftpPass='XXXXXX'; //ftp password
# end ftp settings #
###########################
###########################
# file settings #
$tempfile = '/home/jaboo12/public_html/temp.php';
$ftpdir = 'public_html';
$nav = 'public_html/index.php';
$file = '/home/jaboo12/public_html/$ourFile';
# end file settings #
###########################
//connect to server
$connection = ftp_connect($ftpServer, $ftpPort);
ftp_login($connection, $ftpUser, $ftpPass);
//chmod directory so that the server can create a file
ftp_chmod($connection, 0777, $ftpdir);
//make temporary file
$handle = fopen("$tempfile", 'w');
fclose($handle);
//upload file using ftp
$bandle = fopen("$file", 'w');
ftp_fput($connection, $tempfile, $bandle, FTP_ASCII);
fclose($bandle);
//delete temporary file
unlink($tempfile);
$ourFileName = $_POST['name'];
$ourLinkName = $_POST['link'];
//Post content feild to the file created;
$myFile = "/home/jaboo12/public_html/$ourFile";
$fh = fopen("$myFile", 'w') or die("can't open file");
$content = $_POST['content'];
$help = stripslashes ($content);
$newcontent = strip_tags($help, '<img><div></div><font></font><p></p><br></br><hr></hr><a></a><b></b><i></i><u></u>');
fwrite ($fh, $newcontent);
fclose($fh);
//reset directory permissions
ftp_chmod($connection, 0750, $ftpdir);
//Post navigation link on index;
//chmod directory so that the server can create a file
ftp_chmod($connection, 0777, $nav);
$newLink = "<br> » <a href=\"http://www.neohound.com/index.php?id=$ourFileName\">$ourLinkName</a>
<!-- game -->";
$data = file_get_contents('/home/jaboo12/public_html/index.php');
$data = str_replace ('<!-- game -->', $newLink, $data);
$fp = fopen ("/home/jaboo12/public_html/index.php", 'w');
fwrite ($fp, $data);
fclose ($fp);
//reset directory permissions
ftp_chmod($connection, 0644, $nav);
//close connection
ftp_close($connection);
?>
|