勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

画像登録用のfunction

      2014/07/03

<?php
/******
画像アップロード用function
画像送付側には↓↓で呼び出す。
if ($_FILES) {
    $mess = Image_uplode($_FILES, $file_path, $exts);
}
画像送付部分は↓↓な感じ。
<form action="./index.php" method="post" enctype="multipart/form-data">
    画像1:<input type="file" name="image1"><br>
    画像2:<input type="file" name="image2"><br>
    画像3:<input type="file" name="image3"><br>
    <input type="submit" name="submit">
</form>
また、↓↓で結果を返せる。
<? if(isset($mess)) echo $mess;?>
******/

//画像用変数
$exts = array(
1=>".jpg",
2=>".png",
3=>".gif");
$file_path = 'aaa/bbb/ccc/images'; //ファイルパス

//ランダムな英数字作成function
function Random($length) {
$str = array_merge(range('a', 'z'), range('0', '9'), range('A', 'Z"'));
for ($i = 0; $i < $length; $i++) {
$r_str .= $str[rand(0, count($str)-1)];
}
return $r_str;
}

//画像アップロード用function
function Image_uplode($image,$file_path, $exts) {
for($i=1; $i<=count($image); $i++) { //fileの数だけループ
if ($image["image{$i}"]["size"] > 0) { //サイズが1以上あれば内容を調べる
if ($image[$i] != UPLOAD_ERR_OK) { //エラーチェック
echo "エラーが発生しました : ".$image["image{$i}"]["error"];
exit;
}
$image_ext_check = getimagesize($image["image{$i}"]["tmp_name"]); //拡張子チェック用
if($image_ext_check['mime'] == 'image/jpeg' || $image_ext_check['mime'] == 'image/jpg')    {
$ext = '.jpg';
} elseif ($image_ext_check['mime'] == 'image/png') {
$ext = '.png';
} elseif ($image_ext_check['mime'] == 'image/gif') {
$ext = '.gif';
} else {
echo 'jpeg/jpg/png/gif画像でアップロードして下さい';
exit;
}
$image_file_pass = $file_path . '/' . Random(5) . $ext; //画像名をランダムに決める
$rs = move_uploaded_file($image["image{$i}"]["tmp_name"], $image_file_pass); //画像のアップ処理
$mess .= (!$rs) ? "画像{$i}が正常にアップロードできませんでした。" : "画像{$i}が正常にアップロードできました。<br>";
}
}
return $mess;
}

 - PHP, 画像

  関連記事

PHPで指定月の月末日を取得

今月の、だったらdate('t')でいくけど指定月の場合は どうしたらいいのか分 ...

PHPの配列でキーの最大値を取得

PHPの配列でキーの最大値を取得したかった。以下で対応する。 [crayon-5 ...

PHPのswitch文で比較演算子の使用

switch文は指定の変数が、特定の値もしくは文字列 だった場合のみに使うような ...

isset等、変数を調べる際の注意点

$strがNULLだったり0だったり空文字だったりする場合で、 if($str) ...

PHPとajaxでチャットの作成

■ソース ・index.php <? error_reporting(E_ ...

PHPでファイルを添付してメール送信

PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...

preg_match_all

やりたかった事は、 ・JSON形式がそのまま出力されているページのデータをPHP ...

jQueryで画像を遅延ロードする(jquery.lazyload.js)

画像を遅延ロードさせたい時にはlazyloadが便利。 ■ダウンロード http ...

phpMyAdminより高速で軽量なAdminerが凄い

MySQLをGUIで管理できるphpMyAdmin。特に不満はないんだけど、もっ ...

PHPでPOST送信する際に多次元配列も送る

PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...