PHPのFTPアップロードサンプルコード

どうでもいいといえばどうでもいいのだけど、PHPFTPアップロードサンプルコード。
自分用。

とりあえず、PEARのNet_FTP ってあまり使い勝手よくないね。
あと、ftp_pasv を使わないと FireWall越えでファイルアップロードできないのね。
ちょっとハマってしまったのだが、インターネットよく分かってないなぁ、自分。。。

[php] function putHtml($html) {

$file = FTP_PATH . 'output.html';
$fp = tmpfile();
if ($res === FALSE) {
    return FALSE;
}
$res = fwrite($fp, $html);
if ($res === FALSE) {
    return FALSE;
}
$res = rewind($fp);
if ($res === FALSE) {
    return FALSE;
}
$conn_id = ftp_connect(FTP_HOST);
if ($conn_id === FALSE) {
    return FALSE;
}
$res = ftp_login($conn_id, FTP_ID, FTP_PASSWORD);
if ($res === FALSE) {
    return FALSE;
}
$res = ftp_pasv($conn_id, true);
if ($res === FALSE) {
    return FALSE;
}
$res = ftp_fput($conn_id, $file, $fp, FTP_BINARY);
if ($res === FALSE) {
    return FALSE;
}
ftp_chmod($conn_id, 0666, $file);

return TRUE;

} [/php]