Sziasztok!
Már több helyen is próbálkoztam, remélem ti tudtok segíteni!
Az ftp_put függvénnyel kapcsolatban lenne szükségem segítségre.
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, próbáltam ftp_chdir()-rel belépegetni a megfelelő mappába, sikerült, ugyanakkor a feltöltés továbbra sem megy.
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:
PHP 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.
Könyvjelzők