// ディレクトリのフルパス
$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");
http://www.bkjia.com/PHPjc/631407.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631407.html技術記事 ?php // ディレクトリのフルパス $filepath = /home/httpd/html/tut/upload; // 200K は、受け入れられる最大 (画像) ファイル サイズです。関数 print_error...