ugrás a tartalomhoz

ftp_put feltöltés hiba

zz88 · 2009. Júl. 17. (P), 13.53
Sziasztok!
Szükségem lenne egy kis segítségre az ftp_put függvénnyel kapcsolatban.
Szeretném, ha az oldalam továbbra is a .hu-s domain alatt működne, ugyanakkor egy külföldi tárhelyen szeretném tárolni a felhasználók által feltöltött képeket.
Az ftp_put függvénnyel próbálkozom. Felraktam a feltöltést végrehajtó proba.php-t a magyar tárhelyemre. Form segítségével megadom a külföldi szerver ftp adatait.
Sikerül a csatlakozás, viszont a képfeltöltés sikertelen. A képet feltölti a külföldi tárhelyre, ugyanakkor mégsem, tehát egy 0 byte-os fájlt látok, ugyanazzal a névvel.
Próbáltam utánajárni, hogy mi lehet a probléma, rengeteg infot találtam különböző fórumokon, minden lehetséges módszer kipróbáltam: pl. próbálkoztam az ftp_pasv() függvénnyel is, hátha a tűzfal miatt nem sikerül a feltöltés, de semmi eredmény.

Nagyjából 1 perc várakozás után ez az üzenet fogad:

Connected to 02de482.netsolhost.com, for user ftp1273942...

Warning: ftp_put() [function.ftp-put]: Failed to establish connection....
FTP upload has encountered an error!

A kód:
<?
if(!isset($_POST["submit"])){?>
 
<form action="proba.php" method="POST" enctype="multipart/form-data">
<table align="center">
<tr>
<td align="right">
Server: //ide ezt írom: 02de482.netsolhost.com
</td>
<td>
<input size="50" type="text" name="server" value="">
</td>
</tr>
<tr>
<td align="right">
Username: //ide jön az ftp felhasználónév
</td>
<td>
<input size="50" type="text" name="user"  value="">
</td>
</tr>
<tr>
<td align="right">
Password: //ide jön az ftp jelszó
</td>
<td>
<input size="50" type="text" name="password" value="" >
</td>
</tr>
<tr>
<td align="right">
Path on the server:  //ide ezt írom: /htdocs/gsavaria/pic/butor
</td>
<td>
<input size="50" type="text" name="pathserver" >
</td>
</tr>
<tr>
<td align="right">
Select your file to upload:
</td>
<td>
<input name="userfile" type="file" size="50">
</td>
</tr>
</table>
<table align="center">
<tr>
<td align="center">
<input type="submit" name="submit" value="Upload image" />
</td>
</tr>
 
</table>
</form>
<?}
else
{
 
set_time_limit(300);//for setting
 
$paths=$_POST['pathserver'];
 
$filep=$_FILES['userfile']['tmp_name'];
 
$ftp_server=$_POST['server'];
 
$ftp_user_name=$_POST['user'];
 
$ftp_user_pass=$_POST['password'];
 
$remote_file=$_FILES['userfile']['name'];
 
 
 
// set up a connection to 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 and login result
if ((!$conn_id) || (!$login_result)) {
       echo "FTP connection has encountered an error!";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name....";
       exit;
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name".".....";
        echo "Current directory is now: " . ftp_pwd($conn_id) . "<br>";
   }

// upload the file to the path specified

 $upload = ftp_put($conn_id, $paths.'/'.$remote_file, $_FILES['userfile']['tmp_name'], FTP_BINARY);
// check the upload status
if (!$upload) {
       echo "FTP upload has encountered an error!";
   } else {
       echo "Uploaded file with name $name to $ftp_server ";
   }
 
// close the FTP connection
ftp_close($conn_id);
 
}
?>


A segítséget előre is köszönöm.

zz88