-1

jpg、png、gif の画像をアップロードできる画像のアップロードがあります。イメージの名前は、ログに記録されたユーザー名に自動的に変更されます。

この画像は、そのユーザーのサイトの背景に移動します。ここまでは順調ですが、問題は次のとおりです。どのくらいの長さで画像を登ったかを知るにはどうすればよいですか?


どのように動作します:

ユーザー「VITOR」で「AULA01-342.jpg」という名前のファイルを登ると、画像の名前が「vitor.jpg」に変更されます

しかし、サイトのフロントエンドでそのファイルを取得する必要があります。あたかもフロントエンドにあるかのように、ファイルが .jpg、.gif、または .png かどうかを知っていますか?

コードは次のとおりです。

フォルダにあるファイル拡張子を検出するにはどうすればよいですか?

形:

<form enctype="multipart/form-data" action="<?php echo "cores.php?acao=updatecolors&amp;id=$id" ;?>" method="post">

  <input type="file" class="file-input" name="userImgBody" id="userImgBody"/>
 <input type="submit" class="btn btn-success span12" value="atualizar" name="atualizar">
?>

アクション: UPDATECOLORS

if($startaction == 1){
    if($acao == "updatecolors"){
        $id=$_GET["id"];
        $query=mysql_query("UPDATE vms_cores SET 
        c.userImgBody='$userImgBody', 

        WHERE c.id='u.id'");

        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["userImgBody"]["name"]);

        $extension = end($temp);
        $newfilename = $usuario .".".$extension;
        if ((($_FILES["userImgBody"]["type"] == "image/gif")
        || ($_FILES["userImgBody"]["type"] == "image/jpeg")
        || ($_FILES["userImgBody"]["type"] == "image/jpg")
        || ($_FILES["userImgBody"]["type"] == "image/pjpeg")
        || ($_FILES["userImgBody"]["type"] == "image/x-png")
        || ($_FILES["userImgBody"]["type"] == "image/png"))
        && ($_FILES["userImgBody"]["size"] < 1097152)
        && in_array($extension, $allowedExts))
          {
          if ($_FILES["userImgBody"]["error"] > 0)
            {
            echo "Return Code: " . $_FILES["userImgBody"]["error"] . "<br>";
            }
          else
            {
            echo "Upload: " . $_FILES["userImgBody"]["name"] . "<br>";
            echo "Type: " . $_FILES["userImgBody"]["type"] . "<br>";
            echo "Size: " . ($_FILES["userImgBody"]["size"] / 1024) . " kB<br>";
            echo "Temp file: " . $_FILES["userImgBody"]["tmp_name"] . "<br>";

            if (file_exists("../_arquivos/upload/bgs/" . $_FILES["userImgBody"]["name"]))
              {
              echo $_FILES["userImgBody"]["name"] . " already exists. ";
              }
            else
              {
              move_uploaded_file($_FILES["userImgBody"]["tmp_name"],
              "../_arquivos/upload/bgs/" . $newfilename);
              echo "Stored in: " . "../_arquivos/upload/bgs/" .$newfilename;
              }
            }
          }
        else
          {
          echo "Invalid file";
          } 


    }
}

フロントエンド

// Get Subdomain
$urlExplode = explode('.', $_SERVER['HTTP_HOST']);
if (count($urlExplode) > 2 && $urlExplode[0] !== 'www') {
    $subdomain = $urlExplode[0];    
//  echo $subdomain;
}


// variable "usuario" == variable "subdomain"
$usuario = $subdomain;


   $sql = "SELECT * FROM vms_textos t INNER JOIN vms_users u ON u.id = t.id left outer JOIN vms_cores c ON u.id = c.id where u.usuario='$usuario'";

    $result = mysql_query($sql); 
    if($result === FALSE) { 
    die(mysql_error());
     // TODO: better error handling 
    }
else {
$row = mysql_fetch_array($result);

// Tabela Textos
$userKeywords = $row['userKeywords'];
$userDesc = $row['userDesc'];
$userTitleSite = $row['userTitleSite'];
$userTelefoneSite = $row['userTelefoneSite'];
$userTextSobre = $row['userTextSobre'];
$userTextContatos = $row['userTextContatos'];
$userTextMaisInfos = $row['userTextMaisInfos'];

// Tabela Cores
$userImgBody = $row['userImgBody'];
}







<body>

<style>
body{
 background-image: url('http://arquivos.minisite.net.br/upload/bgs/<?php $usuario;?>');
}
</style>

最終結果は次のとおりです。

background-image: url('http://arquivos.minisite.net.br/upload/bgs/vitor');

それがいつあるべきか:

background-image: url('http://arquivos.minisite.net.br/upload/bgs/vitor.png');

また

background-image: url('http://arquivos.minisite.net.br/upload/bgs/vitor.jpg');

また

background-image: url('http://arquivos.minisite.net.br/upload/bgs/vitor.gif');

アップロードした画像の種類によっては...

前もって感謝します!

4

3 に答える 3

2

パス情報を使用する必要があります

このようにして、ファイルの名前と拡張子を取得できます。または、別の関数でそれを行うこともできます:

$extension = substr($file_path,strpos($file_path,'.')+1);
于 2013-10-29T03:52:31.257 に答える