Jump to content

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]
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.