ホームページ > バックエンド開発 > PHPチュートリアル > 画像ファイルをアップロードし、PHP のファイル関数ライブラリを使用して表示する_PHP チュートリアル

画像ファイルをアップロードし、PHP のファイル関数ライブラリを使用して表示する_PHP チュートリアル

WBOY
リリース: 2016-07-13 16:58:15
オリジナル
819 人が閲覧しました


// ディレクトリのフルパス
$filepath = "/home/httpd/html/tut/upload";

// 200K が受け入れられる最大 (画像) ファイル サイズです
定義("MAX_FILE_SIZE", 200*1024);

関数 print_error ($err) {
echo "

$err


";
}

やります{
// 画像名変数に値があるかどうかを確認します。そうでない場合は、
までスキップしてください // 「do」ステートメントの「while(false)」セクション
if(isset($picture)) {
// ここで、サーバーはクライアントの画像ファイルを透過的にチェックします
// 最大許容サイズを超えないでください
if(getenv("CONTENT_LENGTH") > MAX_FILE_SIZE) {
print_error("ファイルが大きすぎます: $picture_name");
休憩;
}

// クライアントの画像ファイルを読み取り専用で開きます。 「@」プレフィックスは fopen に印刷しないように指示します
// エラーがある場合は print_error 関数が行うのでメッセージ

// エラーがある場合は、「do」ループを抜け出して「while(false)」から続行します

$fp = @fopen($picture,"r");
if(!$fp) {
print_error("ファイルを開けません: $picture_name");
休憩;
}

// セッションの一意の名前を生成し、それを使用して一意のサーバーを生成します
// ディレクトリ名を指定し、ディレクトリを作成します

srand((double) microtime() * 1000000);
$id = md5(uniqid(rand()));
$dirname = "$filepath/$id";
mkdir($dirname,0700);

// 新しく作成したサーバーディレクトリにサーバーピクチャファイルを作成します
$filename = $dirname 。 "/写真";

// サーバーピクチャファイルを書き込み専用で開きます。 「@」プレフィックスは fopen にそうしないよう指示します
// 関数 print_error が実行するため、エラーがある場合はメッセージを出力します

// エラーがある場合は、「do」ループを抜け出して「while(false)」から続行します
$out = @fopen($filename,"w");
if(!$out) {
print_error("ファイルを開けません: $filename");
休憩;
}

// クライアントの画像ファイルをサーバーの画像ファイルにコピーします
while($buffer = fread($fp,8192)) {
fwrite($out,$buffer);
}

// クライアント画像ファイルとサーバー画像ファイルを閉じます
fclose($fp);
fclose($out);

// 画像ファイルディレクトリにサーバー名ファイルを作成します。このファイルには
が含まれます // 画像ファイルの名前
$filename = $dirname 。 "/名前";

// サーバー名ファイルを書き込み専用で開きます。 「@」プレフィックスは fopen に印刷しないように指示します
// エラーがある場合は print_error 関数が行うのでメッセージ

// エラーがある場合は、「do」ループを抜け出して「while(false)」から続行します
$out = @fopen($filename,"w");

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631407.html技術記事 ?php // ディレクトリのフルパス $filepath = /home/httpd/html/tut/upload; // 200K は、受け入れられる最大 (画像) ファイル サイズです。関数 print_error...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート