954,153 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Error in uploading file via ftp server

i currently working on web based ftp system where this system will upload and retrieve file from ftp server in red hat linux 9.0.
here is the php cording for the upload file:-

1.upload.html

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1">
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" >
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>user name </td>
<td><input name="username" type="text" id="username"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>password</td>
<td><input name="password" type="password" id="password"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>File name </td>
<td><input type="file" name="file"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Upload"></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table> 
</form>
</body>
</html>

2.upload.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//$ftp_server=$_POST['server'];
$ftp_server = "10.1.45.21";
$ftp_user_name=$_POST['username'];
$ftp_user_pass=$_POST['password'];
$source_file=$_FILES['file']['name'];// retrieve name of the file to be uploaded
$destination_file=$source_file;
// make a connection to the ftp server 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id , $ftp_user_name , $ftp_user_pass); 

// check connection 
if((!$conn_id)||(!$login_result)){ 
echo "FTP connection has failed!" ; 
echo "Attempted to connect to $ftp_server for user $ftp_user_name" ; 
exit; 
}else{ 
echo "Connected to $ftp_server, for user $ftp_user_name" ; 
} 


// upload the file 
$upload = ftp_put($conn_id,$destination_file,$source_file,FTP_ASCII ); 

// check upload status 
if(!$upload){ 
echo "FTP upload has failed!" ; 
}else{ 
echo "Uploaded $source_file to $ftp_server as $destination_file" ; 
} 

// close the FTP stream 
ftp_close($conn_id); 
?> 
</body>
</html>


when i execute this code it give me the following error:-

Connected to 10.1.45.21, for user sanya
Warning: ftp_put(forum.txt) [function.ftp-put]: failed to open stream: No such file or directory in D:\AppServ2\AppServ\www\FTP\test\upload.php on line 32
FTP upload has failed!

Can any one help me plz..

hirts_gal
Newbie Poster
13 posts since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

$source_file is just the name of the file. The file has not yet been moved to a permanent location using move_uploaded_file(). You'll have to do that first.

pritaeas
Posting Expert
Moderator
5,446 posts since Jul 2006
Reputation Points: 653
Solved Threads: 872
 

i did as you said but it still does not work. here is the cording that i add in upload.php file before close the ftp connection:-

// upload the file
//$upload = ftp_put($conn_id,$destination_file,$source_file,FTP_ASCII );
if (move_uploaded_file($source_file, "/home/admin")) {
print "Received {$_FILES['file']['name']} - its size is {$_FILES['file']['size']}";
} else {
print "Upload failed!";
}

hirts_gal
Newbie Poster
13 posts since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

if i use the cording below replace the cording that i post previously:-

$destination_dir = 'home/admin';
$destination_file = $uploaddir . basename($_FILES['file']['name']);
if (move_uploaded_file($source_file, $destination_file)) {
print "Received {$_FILES['file']['name']} - its size is {$_FILES['file']['size']}";
} else {
print "Upload failed!";
}

it give me a successful message showing that the file upload successfully. but if i try to search the file in /home/admin dir in linux....there were no files there.is my upload file works and where do i check for the uploaded files. help me plz..

hirts_gal
Newbie Poster
13 posts since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

i success in uploading file to FTP server. i use the cording below:-

$destination_dir = $_SERVER['DOCUMENT_ROOT'];
$destination_file = $uploaddir . basename($_FILES['file']['name']);
$upload = ftp_put($conn_id,$destination_file,$source_file,FTP_ASCII );

thank you pritaeas.

hirts_gal
Newbie Poster
13 posts since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You