質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

793閲覧

Apache2.4 Webサイト php-fpmを利用してFTPをしたい。

ITOMO5963

総合スコア98

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/12/17 10:00

#実現したいこと
Apache Webサイト php-fpmを利用してFTPをしたいですが、アップロードが失敗します。
ユーザー名・パスワードは間違っていません。FWの穴あけは問題ありません。
ネットにある、コードを使いここまで、作成しましたが、原因がわかりません。
ご教示お願いします。

####[環境]
OS:CentOS7.7
Apache:Apache/2.4.6
PHP:PHP 7.2.24 (fpm-fcgi)


[test.view.php]

php

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="x-ua-compatible" content="ie=edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <title>testツール</title> 8 </head> 9 <body> 10 <div class="wrapper"> 11 <header>Test ページ</header> 12 <div class="container"> 13 <div class="main"> 14 <form action="./ftp.php" method="POST"> 15 <div class="submit"> 16 <p><button type="submit">FTP実行</button></p> 17 </div> 18 </form> 19 </div> 20 </div> 21 </div> 22 </body> 23</html> 24```--- 25 26[test.view.php] 27```php 28<?php 29 $ftp_server = '192.168.10.10'; 30 $ftp_port = 21; 31 $ftp_user_name = 'ftp_user'; 32 $ftp_user_pass = 'ftp_user'; 33 $ftp_send_file = '/var/www/html/tmp/summary.zip'; 34 $ftp_remote_file = '192.168.10.10/summary.zip'; 35 36// FTPサーバへ接続する 37$conn_id = ftp_connect($ftp_server, $ftp_port); 38if($conn_id == false){ 39 echo "FTPサーバへの接続失敗"."\n"; 40 exit(); 41} 42 43// ユーザー名とパスワードでログインする 44$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 45if($login_result == false){ 46 echo "FTPサーバへのログイン失敗"."\n"; 47 // 接続を閉じる 48 ftp_close($conn_id); 49 exit(); 50} 51 52//パッシブモードに設定 53ftp_pasv($conn_id, true); 54 55// ファイルをアップロードする 56if (ftp_put($conn_id, $ftp_remote_file, $ftp_send_file, FTP_ASCII)) { 57 echo "UPLOAD 成功"."\n"; 58} else { 59 echo "UPLOAD 失敗"."\n"; 60} 61 62// 接続を閉じる 63ftp_close($conn_id);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

単に関数の実行結果だけじゃなく、エラーハンドリングしてエラー詳細確かめた方が良いと思います。

投稿2021/12/17 10:04

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ITOMO5963

2021/12/17 10:43

ありがとうございます。 どのようにエラーハンドリングしたらよいでしょうか? ご教示お願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問