
はじめましてphp初心者です。
以下の内容を実行した際に
うまく行かず困っています。
$ftp_server="【サーバー名】";
$ftp_user_name="【アカウント名】";
$ftp_user_pass="【パスワード】";
//サーバーに接続する
$conn_id = ftp_connect($ftp_server);
// ユーザ名とパスワードでログインする
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// 接続できたか確認する
if ((!$conn_id) || (!$login_result)) {
echo "FTP接続に失敗しました。";
exit;
} else {
echo "FTP接続に成功しました。";
}
$local_file="【ローカルのファイルパス】";
$remote_file="【FTPサーバー上のアップロードファイルパス】";
if (!ftp_put($conn_id, $remote_file, $local_file, FTP_ASCII)) {
echo "FTPアップロードに失敗しました。";
exit;
} else {
echo "FTPアップロードに成功しました。";
}
ftp_close($conn_id);
ローカル、リモート共にファイルの位置は間違っていません。
また以上のように反映させた際に返ってくる答えは
「FTP接続に成功しました。」
「FTPアップロードに成功しました。」
と出てきます。
しかし、ffftpを確認したところ
サバー側に変化がありません。
手動ではffftpでアップ可能です。
ご教授お願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
エラーが表示されないことを鑑みると、
意図とは異なるディレクトリにPUTされている可能性が高いです。
$remote_file が絶対パス指定されているかどうか、
そのあたりに問題がありそうです。
考えられる可能性を列挙するとこんな感じでしょうか。
(1)ファイルパスの指定が間違っている。
・違うディレクトリにPUTされていないか。
・Windows環境、Unix/Linux環境のパス表現の違い。
・「/」で区切っているか。
・「\」で区切る場合、「\\」と指定しているか。
(2)PASVモードにする必要がある環境。
ftp_login()の後、ftp_put()の前に以下を実行してみる。
if( ! ftp_pasv( $ftp, true ) ){ exit( 'ftp_pasv(): failed.' ); }
(3)ftp_put()でフルパス指定ができない環境。
ディレクトリ移動と PUT を分離してみる。
ftp_chdir( $ftp_conn, '/path/to/somewhere/' );
ftp_put( $ftp_conn, 'file.txt', 'c:/local/path/file.html', FTP_ASCII );
(4)ftp_put()がレンタルサーバで禁止されている。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CFileDialogの最初のディレクト...
-
IIS+PHP スクリプトから仮想デ...
-
glide3x.dllがないと表示されま...
-
FTPコマンドでディレクトリごと...
-
fopenでファイルが開かない場合...
-
Subversionのリポジトリの削除
-
Subversionで、ファイルをリネ...
-
FTPでのファイルとディレクトリ...
-
JAVA内で複数のファイルを削除...
-
コマンドプロンプトを指定のデ...
-
visualstudioでc#のdllができない
-
DLL のロードの順序
-
LoadLibraryの戻り値(HMODULE)...
-
SendMailがエラーを返さない
-
CSV出力にHTMLが入ってしまう
-
.phpファイルが、表示されない
-
PHPからメールを送る@さくらイ...
-
centos6のlogにscript not foun...
-
ob_end_clean と ob_clean の違...
-
php.ini を設定を変更すると再...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
makefile でファイルをコピーす...
-
現在位置より2つ上のディレク...
-
visualstudioでc#のdllができない
-
JAVA内で複数のファイルを削除...
-
rmdirでフォルダが消せません
-
バッチを用いたフォルダの自動移動
-
glob関数で日本語文字が取得で...
-
Subversionで、ファイルをリネ...
-
Makefile.inとMakefile.am
-
O/Rマッパーの選定
-
WSHやVBSについて
-
DLL のロードの順序
-
絶対パス?絶対アドレス?意味...
-
LoadLibraryの戻り値(HMODULE)...
-
ツリーメニューを縮小させたい
-
wordpressの記事をカスタマイズ...
-
アプリケーション・ディレクト...
おすすめ情報