はじめまして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で質問しましょう!
似たような質問が見つかりました
- その他(インターネット接続・インフラ) 楽天ひかりでホームページアップロードが出来ない 1 2022/07/30 10:02
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- ASP・SaaS サーバーログイン情報とFTP接続情報の見つけ方を教えてください。 3 2023/07/24 16:19
- PHP ファイルアップロードの上限を増やす 7 2023/06/23 12:50
- サーバー ECサイトのFTPサーバーに使わないファイル20GBくらいがあるのですが、削除したら表示速度やページ 2 2022/12/20 08:45
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[ ディレクトリ '.' は書き込み...
-
/usr/local/lib/phpとはどうい...
-
currentディレクトリ内で、任意...
-
findfirst("*",&ffblk,FA_DIREC...
-
PHPのプログラムの保存場所
-
ファイル選択ダイアログで選択...
-
バッチを用いたフォルダの自動移動
-
ASPのページだけ表示できません。
-
VC++ Win32アプリ ディレクトリ...
-
Subversionで、ファイルをリネ...
-
【PHP】declare命令で”Fatal er...
-
ファイルアップロードに関して...
-
Permission denied in
-
SSLで公開が出来ず困っておりま...
-
CakePHPの設置ディレクトリにつ...
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
rmdirでフォルダが消せません
-
絶対パス?絶対アドレス?意味...
-
コマンドプロンプトを指定のデ...
-
VB.NET 最下位のディレクトリ名...
-
VB2008でFTPでのディ...
-
DLL のロードの順序
-
MkDir関数
-
ファイル選択ダイアログで選択...
-
図に示す階層構造で,現在のデ...
-
[ ディレクトリ '.' は書き込み...
-
JAVA内で複数のファイルを削除...
おすすめ情報