Sitat av
slashdot
Eg tolker det som at turbolego forsøker å skrive til fila, i php, via ftp. Det er den rimelegaste tolkinga, iom. at turbolego seier han har testa med php og ftp mot eigen host.
Beklager, jeg hadde delvis feil, ble litt klarere når vi kommuniserte på PM og jeg fikk lov å titte på FTP serveren hans.
Saken var at han hadde to hoster, der den ene hosten skulle kjøre PHP filen og generere en *.txt fil som videre skulle lastes opp på ftp serveren til den andre hosten.
Jeg skrev et script som hadde FTP funksjonaliteten som han trengte og testet på min lokale host, noe som fungerte utmerket. Men denne fungerte ikkje på hans host, så vi prøvde den på en tredje host der den også fungerte utmerket på. Vi sjekket også phpinfo ( ) og der sto det at FTP modulen skulle være aktivert.
Koden har en ganske omfattende debugings funksjon, så jeg synes det er rart at outputet fra det her scriptet er tomt. Og spesielt når den fungerer fint på 2 av hostene vi har prøvd på.
Kode
<?php
$ftp_directory = '';
$ftp_filename = '';
$ftp_hostname = "";
$ftp_password = '';
$ftp_username = '';
$ftp_timeout = 30; // Connection timeout in secounds
$script_debug = true;
if (( $ftp_handle = ftp_connect ( $ftp_hostname, 21, $ftp_timeout )) == false )
{
echo ( "<h1>Unable to connect to FTP server</h1><br />" );
if ( $script_debug == true )
{
echo ( "<p>FTP Hostname: " . $ftp_hostname . "</p><br />" );
}
echo ( "<p>Please check your hostname!</p>" );
exit ( -1 );
}
else
{
if ( $script_debug == true )
{
echo ( "<h1>Successfully connected to FTP server</h1>" );
}
}
if ( ftp_login ( $ftp_handle, $ftp_username, $ftp_password ) == false )
{
echo ( "<h1>Unable to authenticate users</h1><br />" );
if ( $script_debug == true )
{
echo ( "<p>FTP Username: \"" . $ftp_username . "\"</p><br />" );
echo ( "<p>FTP Password: \"" . $ftp_password . "\"</p><br />" );
}
echo ( "<p>Please check your username and password!</p><br />" );
if ( ftp_close ( $ftp_handle ) == false )
{
echo ( "<h1>Unable to close the connection</h1><br />" );
echo ( "<p>Please check your source code for errors!</p><br />" );
}
exit ( -1 );
}
else
{
if ( $script_debug == true )
{
echo ( "<h1>Successfully authenticated user</h1>" );
}
}
if ( ftp_chdir ( $ftp_handle, $ftp_directory ) == false )
{
echo ( "<h1>Unable to change directory</h1><br />" );
if ( $script_debug == true )
{
echo ( "<p>FTP Directory: \"" . $ftp_directory . "\"</p><br />" );
}
echo ( "<p>Please check your spelling of directory!</p><br />" );
if ( ftp_close ( $ftp_handle ) == false )
{
echo ( "<h1>Unable to close the connection</h1><br />" );
echo ( "<p>Please check your source code for errors!</p><br />" );
}
exit ( -1 );
}
else
{
if ( $script_debug == true )
{
echo ( "<h1>Successfully changed directory!</h1>" );
}
}
if ( ftp_put ( $ftp_handle, $ftp_filename, $ftp_filename, FTP_ASCII ) == false )
{
echo ( "<h1>Unable to upload the file</h1><br />" );
if ( $script_debug == true )
{
echo ( "<p>FTP Filename: \"" . $ftp_filename . "\"</p><br />" );
}
echo ( "<p>Please check your spelling of filename!</p><br /><br />" );
if ( ftp_close ( $ftp_handle ) == false )
{
echo ( "<h1>Unable to close the connection</h1><br />" );
echo ( "<p>Please check your source code for errors!</p><br />" );
}
exit ( -1 );
}
else
{
echo ( "<h1>Successfully uploaded the file</h1><br />" );
}
if ( ftp_close ( $ftp_handle ) == false )
{
echo ( "<h1>Unable to close the connection</h1><br />" );
echo ( "<p>Please check your source code for errors!</p><br />" );
exit ( -1 );
}
else
{
if ( $script_debug == true )
{
echo ( "<h1>Successfully closed FTP connection</h1>" );
}
}
?>
Sist endret av 0xFF; 3. juni 2015 kl. 22:48.