画像アップロード型の掲示板において、ファイル選択ダイアログでファイル選択したら、
FTPサーバーにアップし、かつ、アップしたユーザー自身が、ブラウザでその画像を見れるという仕様にしたいんですが、FTPサーバー側に選択した画像ファイルが、アップされてないのです。
アップした画像をローカルのブラウザのページで見ると、x印のアイコンだけが表示されていて、中身の画像ファイルが表示されてないのです。ですが、そのx印のアイコンを右クリックすると、画像のピクセル数や、FTPサーバー先の絶対パスがちゃんと表示されてるんです。
下記のようなファイル選択ダイアログが表示されるHTMLと、そこから呼び出すPHPスクリプト
において、どこか間違っているのか教えていただきたいです。よろしくお願いします。
<html>
<head><title>ファイル選択ダイアログ</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form name="form1" method="POST" enctype="multipart/form-data" action="file_upload.php">
<input type="file" name="result">
<input type="submit" name="upload" value="添付画像">
</form>
</body>
</html>
---------------------------------------------------------------------
<?php
$photo = $_POST['photo'];
////////////////////////////////////
// ローカル側でファイルをオープン //
////////////////////////////////////
$filename = "./files/$photo"; // $parent(親ディレクトリの直下のファイルだから、何もつけなくてよい)
echo("filename=".$filename); // デバッグ用
$fp=fopen($filename, 'rb') or die;
/* ファイルオープンダイアログで選択したファイルのファイル名はbbs.phpと同じディレクトリにあるfile_uproad.php
から見ると、$photoにつけるパスは不要 */
///////////////////////////////////////////////////////////////////////
// FTPサーバーに接続、ログイン、サーバー側のカレントディレクトリ変更 //
///////////////////////////////////////////////////////////////////////
$ftp_server="users109.lolipop.jp";
$ftp = ftp_connect($ftp_server);
$res = ftp_login($ftp, "~", "~";
if($res==FALSE){
echo("FTPサーバーのログインに失敗しました。");
exit(1);
}
$cur = ftp_pwd($ftp); // サーバーにログイン直後のサーバー側のカレントディレクトリ
echo("cur=".$cur);
exit(1);
ftp_chdir($ftp, $cur); // サーバー側のディレクトリを変更
/////////////////////////////////////////////
// FTPサーバーに画像ファイルをアップロード //
/////////////////////////////////////////////
$remote_file = $photo; // リモート上でのファイル名指定
echo($remote_file);
//if(ftp_fput($ftp, $remote_file, $fp, FTP_BINARY)){ // ローカルでオープンしている画像ファイルをバイナリモードでFTPサーバーにアップロードする
if(ftp_fput($ftp, $remote_file, $fp, FTP_BINARY)){ // リモートのカレントディレクトリにアップされる
echo "Successfully uploaded $file\n";
}else{
echo "There was a problem while uploading $file\n";
}
////////////
// 後処理 //
////////////
fclose($fp);
ftp_close($ftp);
//header("Location: bbs.php");
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
10MB以内のJPG画像
-
youtubeに音声のみのmp4ファイ...
-
違法アップロードについて
-
「クラウドにアップロード」」...
-
phpファイルの編集について
-
one drive のアップロード失敗...
-
ローカル(自分のパソコン上)...
-
ファイルのアップロード処理を...
-
アップロードの方法
-
phpでファイルをアップロードで...
-
ドリームウィーバー(500 illeg...
-
CFileDialogの最初のディレクト...
-
GDへ値を渡す方法は?
-
データ送信をボタンを押さずに...
-
PHPパーミッションについて
-
.phpファイルが、表示されない
-
画像リストを作りたい
-
phpのPDOの導入
-
PHPから別なPHPへ移動(?)する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
違法アップロードについて
-
「クラウドにアップロード」」...
-
youtubeに音声のみのmp4ファイ...
-
ファイルをGET送信でアップロー...
-
FTPClientで転送結果(OKかFAIL)
-
ftpでアップロードが出来ない
-
php,file_get_contentsの結果が...
-
DUMPした巨大SQLファイルをイン...
-
unlinkでどうしてもファイルが...
-
FTP接続の例外処理
-
PHPでxmlをAPIに送信する方法(P...
-
ファイルのアップロードがどう...
-
BASP21のFTPで日本語ファイル名...
-
one drive のアップロード失敗...
-
SmartyでHTMLソースの変更が反...
-
ファイルアップロードしたもの...
-
$filePath = './user_img/' . $...
-
画面遷移させずに、選択画像フ...
-
movabletypeでPDFファイルをア...
おすすめ情報