0

そのため、画像をフォルダーにアップロードし、画像のパスをデータベースに保存するアップロードスクリプトがあります。画像のサイズを 800x600 に変更し、サムネイルを作成するのに助けが必要です。質問ですが、親指のパスを db に保存する必要がありますか?

サイズを変更した画像 (800x600) をアップロードしたいのですが、元の画像 (サイズ変更なし) をサーバーに保存したくありません

これが私が得たものです:

<?php
include('dbconnect.php');

if(isset($_POST['enviar']))
{ //START IF

$nomesitio = $_POST['nome'];
$horario = $_POST['horario'];
$contato = $_POST['contato'];
$morada = $_POST['morada'];
$tipo = $_POST['tipo'];
$freguesias = $_POST['freguesias'];
$arqName = $_FILES['arquivo']['name'];
$arqType = $_FILES['arquivo']['type'];
$arqSize = $_FILES['arquivo']['size'];
$arqTemp = $_FILES['arquivo']['tmp_name'];
$arqError = $_FILES['arquivo']['error'];
$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
$tamanhoPermitido = 6024 * 3000;
if ($arqError == 0)
{
    if(array_search($arqType, $tiposPermitidos) === false)
    {
    $retorno = '<span class="no">O tipo de arquivo enviado é invalido!</span>' ;
    }
    elseif ($arqSize > $tamanhoPermitido)
    {
    $retorno = '<span class="no">O tamanho do arquivo enviado e maior que o limite!</span>';
    }
    else
    {
        $pasta = 'images_sitios/';
        $extensaoTemp = explode('.',$arqName);
        $extensao = strtolower(end($extensaoTemp));
        $nome = time(). '.' . $extensao;
        $upload = move_uploaded_file($arqTemp, $pasta . $nome);

        if ($upload === true)
        {
        $ficheiro = $pasta.$nome;                                                                    
        }

        else
        {
        $retorno = '<span class="no">Nao foi possivel fazer o upload da imagem!</span>';
        }
    }                         
}

if(empty($ficheiro))
{
$retorno = '<span class="quase">Insira a imagem!</span>';
}         

if(empty($retorno))
{
    $query = mysql_query("INSERT INTO sitio (nome_sitio, horario, contato, morada, imagem, id_tipo, id_freguesia) VALUES ('$nomesitio','$horario','$contato','$morada','$ficheiro','$tipo','$freguesias')") or die (mysql_error());

    if($query === true)
    {
    $sucesso = '<span  class="yes">Sitio inserido com sucesso!</span>';
    echo $sucesso;
    }
}
else
{
echo $retorno;
}

} //END IF
?>

これどうやってするの?前もって感謝します。

4

1 に答える 1

0

このサイズ変更クラスを使用して、画像のサイズ変更を実行できます。

// *** Include the class  
include("resize-class.php");  

$data = file_get_contents($_FILES['image']['tmp_name']);
file_put_contents("sample.jpg", $data);

// *** 1) Initialize / load image  
$resizeObj = new resize('sample.jpg');  

// *** 2) Resize image (options: exact, portrait, landscape, auto, crop)  
$resizeObj -> resizeImage(800, 600, 'crop');  
于 2013-06-26T21:18:31.010 に答える