ホームページ >php教程 >php手册 >PHP画像アップロードコード

PHP画像アップロードコード

WBOY
WBOYオリジナル
2016-06-13 12:05:411036ブラウズ


(コード スニペットのテストは成功し、正常にアップロードされました!)
というのは、昨日、PHP コードを学習したいという衝動は、同社の IMAGE LIBRARY に似たものを真似することから来ていたことを思い出したからです。したがって、今日最も基本的な機能が実装され、PHP の概念的な理解が得られた後、緊急に実装する必要がある重要な機能が自然に思い浮かびました。それは写真のアップロードです。
そこで、インターネットを検索し始めたところ、誰かのブログに 3 ページからなるコード スニペットがあったので、それをコピーして勉強しましたが、結果はデバッグできませんでした。会社のパソコンのドメインエントリーの問題かと思いましたが、いろいろ試した結果、とりあえず放置することにしました。家に帰って試してみてください(家のコンピュータは最も純粋な環境で準備されているため)。
家に帰ってコードをコピーして試してみましたが、やはり動作せず、同じエラーメッセージが表示されました。非常に決断的に、私は別の方法を見つけて、別のコード スニペットを見つけることを計画しました。ははは、非常にスムーズに進み、たった 1 ページのコード スニペットを見つけて 1 回の試行で成功しました。乾杯!
---------------次のコードを転載します。投稿してみんなと共有してください--------

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


$uptypes=array('image/jpg', //アップロードファイルタイプリスト
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'); //アップロードファイルサイズ制限、単位 BYTE
$destination_folder="upload/"; //アップロード ファイル パス
$watermark=1; //ウォーターマークを付けるかどうか (1 はウォーターマークを追加することを意味し、それ以外はウォーターマークを追加しないことを意味します); >$watertype=1; //透かしの種類 (1 はテキスト、2 は画像)
$waterposition=1; //透かしの位置 (1 は左下隅、2 は右下隅、3 は上隅)左隅、4 は右上隅、5 は中央);
$waterstring="newphp.site.cz" //ウォーターマーク文字列
$waterimg="xplore.gif"; //ウォーターマーク画像
$imgpreview=1; // プレビュー画像を生成するかどうか (1 は生成することを意味し、その他は生成しません);
$imgpreviewsize=1/2; // サムネイル比率
< ;html>
M4U ブログ - fywyj.cn

< style type="text/css">body,td{font-family:tahoma,verdana,arial;font-size:11px;line-height:15px;background-color:ホワイト;カラー:#666666;マージン左:20px;}
strong{font-size:12px;}
aink{color:#0066CC;}
a:hover{color:#FF6600;}
aisited{color:#003366; }
a:active{color:#9DCC00;}
table.itable{}
td.irows{height:20px;background:url("index. php?i=dots"repeat-xbottom}



ファイルのアップロード:








許可されるファイルの種類アップロードされるファイルは次のとおりです: jpg|jpeg|png|pjpeg| gif|bmp|x-png|swf


return 🎜>

< ;?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES["upfile") ][tmp_name]))
// ファイルは存在しますか?
{
echo "ファイルは存在しません! ";
終了;
}
$file = $_FILES["upfile"];
if($max_file_size < $file["size"])
// ファイル サイズを確認します
{
echo "ファイルが大きすぎます。 ";
exit;
}
if(!in_array($file["type"], $uptypes))
//ファイルの種類を確認します
{
echo "アップロードできるのは画像ファイルまたはFlashのみです! ";
exit;
}
if(!file_exists($destination_folder))
mkdir($destination_folder);
$filename=$file["tmp_name"] ;
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$destination = $destination_folder .time().".".$ftype;
if (file_exists($destination) && $overwrite != true)
{
echo "ファイル同じ名前はすでに存在します! ";
exit;
}
if(!move_uploaded_file ($filename, $destination))
{
echo "ファイルの移動中にエラーが発生しました! ";
終了;
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " アップロードに成功しました
ファイル名: ".$destination_folder.$fname."
";
echo " width :" .$image_size[0];
echo " 長さ:".$image_size[1];
if($watermark==1)
{
$iinfo=getimagesize($destination, $iinfo) );
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255); 0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
{
ケース 1:
$simage =imagecreatefromgif($destination);
ケース 2:
$simage =imagecreatefromjpeg($destination);
ケース 3:
$simage =imagecreatefrompng($destination);
ケース 6:
$simage =imagecreatefromwbmp($destination);
デフォルト:
die("この種類のファイルはアップロードできません。");
終了;
}
imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);
switch($watertype)
{
ケース 1: //加水標識串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break
case 2: //加水印图片
$ simage1 =imagecreatefromgif("xplore.gif");
imagecopy($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1); 🎜>}
スイッチ ($iinfo[2])
{
ケース 1:
//imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
ブレイク;
ケース 2:
imagejpeg($nimage, $destination);
ケース 3:
imagepng($nimage, $destination); ;
ケース 6:
imagewbmp($nimage, $destination);
break
}
//文例
imagedestroy($nimage);
imagedestroy($simage);
if($imgpreview==1)
{
echo "
图片预览:
";
echo "echo " alt="图片预览:r文件名:".$destination."r上传時間间:" border='0'>< /a>";
}
}
?>