subir - sftp php
Subir archivo de texto a las cargas de Google a través de PHP FTP PUT (2)
Cuando utilicé FTP con mi servidor de Google Compute Engine, tuve el mismo problema que ocurrió porque el servidor está detrás del firewall de Google. Puedes leer más sobre este problema aquí . Puede intentar habilitar el modo pasivo que no se preocupa por IP con la función ftp_pasv .
Estoy intentando subir un archivo de texto que se crea desde una base de datos a través de PHP.
El archivo de texto se crea OK, pero cuando intento cargar el archivo a través de PHP FTP, lo pone en peligro.
Mi código:
$filename = "products_admin.txt";
$handle = fopen($filename, ''w+'');
fwrite($handle, $content);
fclose($handle);
echo "Attempting to connect to <i>uploads.google.com</i>...<br />";
$ftp_connect = ftp_connect("uploads.google.com", "21", "5000") or die("failed to connect.");
$login_result = ftp_login($ftp_connect, "{usernamehere}", "{passwordhere}") or die("ERROR: Username or Password incorrect.");
if((!$ftp_connect) || (!$login_result)) {
echo "ERROR: Couldn''t connect to <i>uploads.google.com</i>, upload failed.<br /><br />";
echo "<a href=/"javascript:location.reload(true)/">Try Again</a>";
exit;
} else {
echo "Connected to <i>uploads.google.com</i>...<br />";
$upload = ftp_put($ftp_connect, $filename, $filename, FTP_ASCII);
if(!$upload) {
echo "ERROR: Failed to upload ".$filename." to <i>uploads.google.com</i>.<br /><br />";
echo "<a href=/"javascript:location.reload(true)/">Try Again</a>";
} else {
echo "Uploading <i>".$filename."</i> to <i>Froogle</i>...<br />";
echo "Successfully uploaded <i>".$filename."</i> to <i>uploads.google.com</i>.<br /><br />";
echo "Done.";
}
}
ftp_close($ftp_connect);
El mensaje de error que recibo es
Advertencia: ftp_put (): PORT IP no es lo mismo que 176.32.230.48. en /home/sites/mysite.co.uk/public_html/admin/controllers/generate_feed.php en la línea 100 ERROR: Error al subir products_admin.txt a uploads.google.com.
Probablemente solo necesites activar el modo pasivo:
...
$login_result = ftp_login($ftp_connect, "{usernamehere}", "{passwordhere}") or die("ERROR: Username or Password incorrect.");
ftp_pasv($ftp_connect, true);
...