ホームページ バックエンド開発 PHPチュートリアル PHP プログラムのデバッグ時に発生した 3 つの問題_PHP チュートリアル

PHP プログラムのデバッグ時に発生した 3 つの問題_PHP チュートリアル

Jul 21, 2016 pm 03:21 PM
filesize php 使用 価値 関数 デバッグ 戻る 会う 間違い 質問

1、filesize() 関数は間違った値を返します。
curl を使用してページをローカルにダウンロードする場合、ダウンロードされた一時ファイル tmpHtml.txt の内容をバッファに読み取る必要があります。 fread() を使用して読み取るため、読み取るサイズを渡す必要があるため、最初に filesize(‘./tmpHtml.txt’) を使用して一時ファイルのサイズを取得します。奇妙なのは、取得した一時ファイルのサイズが正しくないことです。デバッグ用にブレークポイントを設定し、filesize() を呼び出した後、ハード ディスク上のファイルを手動で検索しました。ファイル サイズは、filesize() で取得した結果と異なります。 。
php.net でファイルサイズを検索すると、関数の説明に次の文が表示されます。 注: この関数の結果はキャッシュされます。詳細については、clearstatcache() を参照してください。
clearstatcache() をもう一度確認すると、その理由がわかりました。
PHP は、パフォーマンスを向上させるために、これらの関数 (クエリ用に関数テーブルが提供されています) の戻り情報をキャッシュします。ただし、場合によっては、キャッシュされた情報をクリアしたい場合もあります。たとえば、スクリプト内で同じファイルを複数回チェックし、そのファイルがスクリプトの実行中に削除または変更される危険性がある場合は、ファイル ステータス キャッシュをクリアする必要があります。この場合、clearstatcache() 関数を使用して、PHP によってキャッシュされたファイル情報をクリアできます。
2. UTF-8 でエンコードされた PHP スクリプトで、GBK でエンコードされた中国語 Web コンテンツのパターン マッチング時に中国語を照合する方法。
昨日の開発では、GBK でエンコードされた文字列「Apple」を含むコンテンツを照合する必要があったので、次のコードを書きました:

コードをコピー コードは次のとおりです:

$pat = '/ /'
$pat = iconv('UTF- 8', ' GB2312', $pat);
$ret = preg_match_all($pat, $contents, $matches);

しかし、一致するものはなかったので、最初にコンテンツを UTF-8 エンコードに変換しようとしました、次のように:
コードをコピーします コードは次のとおりです:

$pat = '/< /a>/';
$content = iconv('GB2312', 'UTF-8', $contents);一致します);

したがって、一致することができます。しかし、私にはそれを理解することができず、何らかの詐欺が関与しているのではないかと疑っています。
しかし、悲劇的なのは、今日も最初の方法を使用して、再びマッチングされたことです。問題は別のところにあるようです。
ああ!私は豚です、問題 2 は問題 1 によって引き起こされます。 filesize()の取得が間違っているので当然一致しません! 2 番目の方法は、問題 1 を解決した後に一致します。


3. ブラウザーで要素を検査して取得した引用画像のダウンロード アドレスが、curl で取得したダウンロード アドレスと異なるのはなぜですか。 多分...最終的な答えはまだ「私は豚です」です。
URI オブジェクトがattachment.phpだから? aid=Mzk3MTB8YTg5ZTYyNTJ8MTMyNjcyNDEwMXw5NWYydC9aOUE0a05EVm9ydlErSFBRamZJNWJQL1NHdWJLK3ZraU9GTDZYdnBUdw%3D%3D¬humb=yes
援助とは何ですか?おそらくセッションに関連したものであり、変更されるのは正常です。その後、静的パスのようなものをキャプチャしても問題ありませんでした。

上記の 3 つのストーリーには 2 つの悲劇が含まれています。これらは PHP 初心者が犯す愚かな間違いです。

http://www.bkjia.com/PHPjc/324920.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324920.html技術記事 1. filesize() 関数は不正な値を返します。 curl を使用してページをローカルにダウンロードする場合は、ダウンロードされた一時ファイル tmpHtml.txt の内容をバッファに読み取る必要があります。私が作るから…
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles