teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

処理の修正

2016/03/22 16:24

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -9,8 +9,9 @@
9
9
  $ext = $exts[ count( $exts ) - 1 ];//.で分割した最後のブロックの文字列を取得する
10
10
  foreach( $allow_exts as $val ) {
11
11
  if( !empty( $val ) ) {
12
- $len = strlen( $val );
12
+ //$len = strlen( $val );
13
- if( strncasecmp( strtoupper($val), strtoupper($ext), $len ) == 0 ) {
13
+ //if( strncasecmp( strtoupper($val), strtoupper($ext), $len ) == 0 ) {
14
+ if( strcasecmp( $val, $ext ) == 0 ) { //修正しました(2016/03/23/01:22)
14
15
  $ext_err = false;//エラーフラグ 偽に変更
15
16
  break;
16
17
  }

6

内容の修正

2016/03/22 16:24

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -119,9 +119,9 @@
119
119
  if( !file_exists( $dest_name ) ) {
120
120
  //ファイルのコピー処理
121
121
  if( !move_uploaded_file( $tmpfile, $dest_name ) ) {
122
- $err_txt .= "\n<br>コピーに失敗しました $userfile...$tmpfile > $dest_name<br>\n";
122
+ $err_txt .= "ファイルコピーに失敗しました $userfile...$tmpfile > $dest_name<br>\n";
123
123
  } else {
124
- $info .= "\n<br>コピーに成功しました $userfile ... $dest_name<br>\n";
124
+ $info .= "アップロに成功しました $userfile ... $dest_name<br>\n";
125
125
  chmod( $dest_name, 0644 );
126
126
  }
127
127
  } else {

5

誤記の修正

2016/03/22 15:30

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -159,4 +159,4 @@
159
159
  ?>
160
160
  ```
161
161
  (これだけ書くとエディタのプレビューが重くなるのは困ったものです。)
162
- 動作確認環境 Windows7 SP1 Firefox 45.0.1
162
+ 動作確認環境 Windows8.1 Pro Firefox 45.0.1

4

誤記の修正

2016/03/22 15:22

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -159,4 +159,4 @@
159
159
  ?>
160
160
  ```
161
161
  (これだけ書くとエディタのプレビューが重くなるのは困ったものです。)
162
- 動作確認環境 Windwos7 SP1 Firefox 45.0.1
162
+ 動作確認環境 Windows7 SP1 Firefox 45.0.1

3

誤記の修正

2016/03/22 15:18

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -104,7 +104,7 @@
104
104
  ```PHP
105
105
  <?
106
106
  $MAXSIZE = 2097152;
107
- $save_dir = "/home/sample-com/public_html/images/";
107
+ $save_dir = "/home/sample-net/public_html/images/";
108
108
  $info = "";
109
109
  $err_text = "";
110
110
  if( !empty( $_FILES['upfile']['name'] ) && empty( $_FILES['upfile']['error'] ) ) {

2

誤記の修正

2016/03/22 15:14

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -99,7 +99,7 @@
99
99
  //サイズがOKな場合の処理
100
100
  ?>
101
101
  ```
102
- move_uploaded_file()のコピー先の指定は安全の為にフルパスで記述するほうが安全かと思います。
102
+ move_uploaded_file()のコピー先の指定は安全の為にフルパスで記述するほうが良いかと思います。
103
103
  纏めるとこんな感じになります。
104
104
  ```PHP
105
105
  <?

1

内容の修正

2016/03/22 15:09

投稿

chinyato
chinyato

スコア241

answer CHANGED
@@ -116,12 +116,16 @@
116
116
  //保存先ファイル名のフルパスを作成
117
117
  $dest_name = $save_dir . $userfile;
118
118
  $tmpfile = $_FILES['upfile']['tmp_name'];
119
+ if( !file_exists( $dest_name ) ) {
119
- //ファイルのコピー処理
120
+ //ファイルのコピー処理
120
- if( !move_uploaded_file( $tmpfile, $dest_name ) ) {
121
+ if( !move_uploaded_file( $tmpfile, $dest_name ) ) {
121
- $err_txt .= "\n<br>コピーに失敗しました $userfile...$tmpfile > $dest_name<br>\n";
122
+ $err_txt .= "\n<br>コピーに失敗しました $userfile...$tmpfile > $dest_name<br>\n";
123
+ } else {
124
+ $info .= "\n<br>コピーに成功しました $userfile ... $dest_name<br>\n";
125
+ chmod( $dest_name, 0644 );
126
+ }
122
127
  } else {
123
- $info .= "\n<br>コピーに成功しました $userfile ... $dest_name<br>\n";
128
+ $err_text .= "既存のファイルです。<br>\n";
124
- chmod( $dest_name, 0644 );
125
129
  }
126
130
  } else {
127
131
  $err_text .= "ファイル拡張子が認められない形式かファイル名に半角英数字._-以外が含まれています。<br>\n";