
サイトにWarning: preg_match_allのようなエラーが出ており、困っているので解決方法を教えて
いただきたいです。
Warning: preg_match_all() expects parameter 2 to be string, array given in /home/サーバー名/サイト名/public_html/wp-includes/functions.php on line 4264
Warning: strpos() expects parameter 1 to be string, array given in /home/サーバー名/サイト名/public_html/wp-includes/functions.php on line 4269
Warning: mb_substr() expects parameter 1 to be string, array given in/home/サーバー名/サイト名/public_html/wp-includes/functions.php on line 4269
このようなエラーが存在しています。
4264行目から4271行目までがこちらになります。
if ( preg_match_all( '#\.\./#', $file, $matches, PREG_SET_ORDER )&& ( count( $matches ) > 1 ) ) {
return 1;
}
// `../` which does not occur at the end of the path is not allowed:
if ( false !== strpos( $file, '../' ) && '../' !== mb_substr( $file, -3, 3 ) ) {
return 1;
}
なお、phpなど全然触ったことがないために
解決方法などを教えていただけるとありがたいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
wordpressですね。
ソースを見る限り、変数 $file にはファイル名が入らなければいけないけれど、別の値が入ってしまっている。
そしてその値が配列だからエラーが出ている。
かな。
【正】$file = "file_name.jpg";
【誤】$file = array('hoge', 'haystack');
var_dump($file); exit;
してみましょう。変数 $file に何の値が入っているのかわかります。ファイル名が入っていなかったら、代入部分を見直しましょう。
と、言ってはみましたが、PHP触った事がないのであればソースをいじったりはしてない??
もしそうなら、バージョンと合わないプラグインでも入れたか、ファイル選択時に許容されていないファイル形式を選択したか。ですかね。
No.1
- 回答日時:
あなたが挙げられた warnig はいずれも「関数の n 番目の引数は string 型を期待しているが、実際には配列が渡されている」という意味です。
で、問題の引数にはいずれも変数 $file が渡されています。この変数の中身が問題でしょうが……。
残念ながらあなたが提示されたソースファイルだけでは $file に対してどのような代入をしているのかがわかりません。
$file に代入している個所 ±10 行ほどの提示をお願いします。
ただし、
> なお、phpなど全然触ったことがないために
> 解決方法などを教えていただけるとありがたいです。
とおっしゃるならば、身近にいる PHP の知識のある知り合いに直接コード全文を見せた方が早いと思われます。
……というか、なぜ 4000 行以上ある PHP コードを「全然触ったことがない」というあなたが担当することになったのでしょうか?
@param string $file File path.
* @param array $allowed_files Optional. List of allowed files.
* @return int 0 means nothing is wrong, greater than 0 means something was wrong.
*/
function validate_file( $file, $allowed_files = array() ) {
// `../` on its own is not allowed:
if ( '../' === $file ) {
return 1;
}
// More than one occurence of `../` is not allowed:
if ( preg_match_all( '#\.\./#', $file, $matches, PREG_SET_ORDER ) && ( count( $matches ) > 1 ) ) {
return 1;
}
// `../` which does not occur at the end of the path is not allowed:
if ( false !== strpos( $file, '../' ) && '../' !== mb_substr( $file, -3, 3 ) ) {
return 1;
}
// Files not in the allowed file list are not allowed:
if ( ! empty( $allowed_files ) && ! in_array( $file, $allowed_files ) )
return 3;
// Absolute Windows drive paths are not allowed:
if (':' == substr( $file, 1, 1 ) )
return 2;
return 0;
}
回答ありがとうございます。
こちらをみてわかりますでしょうか?
趣味でブログをやり始めたのですが、
このよう行が普通なのかと思っておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ワードプレスサイト PHP8.0.25でのWarningエラー 1 2023/06/12 11:44
- PHP phpのエラーについて 1 2022/06/27 22:30
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- 英語 この英文は格調高いのでしょうか? 3 2022/06/03 18:55
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- WordPress(ワードプレス) ワードプレスのエラー ログイン画面が表示できない 1 2022/11/05 09:51
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Zend Framework で大きなファイ...
-
PHPでの別のサーバーのテキスト...
-
リネームについて
-
phpのftp_get()でエラーが出ます。
-
PHPでFilename cannot be empty...
-
stat failed
-
youtubeに音声のみのmp4ファイ...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
ob_end_clean と ob_clean の違...
-
PHPの拡張子を見せない方法
-
【file_exists】ファイルが存在...
-
Subversionのリポジトリの削除
-
session_start();について
-
Windowsサーバーでメール送信プ...
-
SmtpMailクラスについて
-
Illustratorで文字と画像を流し...
-
FTP サーバーにある画像を表示...
-
トランザクションが原因?DBに...
-
phpでのログアウトについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでの別のサーバーのテキスト...
-
2つの画像ファイルが異なるファ...
-
register_globalsについて
-
shift-jisでfgetcsv
-
phpのftp_get()でエラーが出ます。
-
PHPでFilename cannot be empty...
-
独自INIファイルの操作をしたい...
-
ファイルの行数取得
-
XMLのロードに失敗する
-
別のサーバにあるファイルの存...
-
ファイル指定
-
ファイルについて・・・。
-
画像ファイルの添付
-
Zend Framework で大きなファイ...
-
stdinからの処理でメール情報を...
-
AS3外部テキスト読み込み
-
PHPでAPI 出力はCSVを取得する...
-
ファイル名は、数字の「0」(...
-
PHPでテキストファイルかどうか...
-
ファイルの内容の削除【ファイ...
おすすめ情報