Jump to content

ftp_fput() error, Still Need Help


BlackKite

Recommended Posts

I have this script I wrote up as a php backend. But its throwing some errors i dont quite understand. Hope someone can help me fix this. Please

[u][b]Error:[/b][/u]
[quote]
Originally Posted by
Warning: ftp_fput() expects parameter 2 to be string, resource given in /home/jaboo12/public_html/staff2/guide_p/game_p.php on line 52[/quote]


[u][b]Line 52:[/b][/u]
[code]
ftp_fput($connection, $bandle, $file, FTP_ASCII);[/code]


[u][b]Whole Code:[/b][/u]

[code=php:0]<?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("$tempfile", 'r');
ftp_fput($connection, $bandle, $file, 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); 

?>[/code]
Link to comment
https://forums.phpfreaks.com/topic/16731-ftp_fput-error-still-need-help/
Share on other sites

euhm.. are those your original username and password if it is, you might wanna change this...

change this
[code]ftp_fput($connection, $bandle, $file, FTP_ASCII);[/code]
to
[code]ftp_fput($connection, $tempfile, $file, FTP_ASCII);[/code]

the second parameter needs to be an string not an resource i.e.: $bandle = fopen('$tempfile', 'w'); <-- resource
Hm, well now i have another error that i dont understand. Actually... i do but i dont know how to fix it ebcause all this code is starting to confuse me. :-\ Im pretty sure its refering to the temp file becuase I have yet to see it in my file directory, but im not sure becuase if it is creating it then unlink is deleteing it.. right? ???

[b]Error:[/b]
[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[/quote]

[u][b]Line 52:[/b][/u]
[code=php:0]ftp_fput($connection, $tempfile, $bandle, FTP_ASCII);[/code]


[u][b]My Code:[/b][/u]
[code=php:0]<?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); 

?>[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.