PHP文件处理大图像时不设置变量

PHP文件处理大图像时不设置变量,php,html,image,Php,Html,Image,我写的网页需要加载几乎任何大小的图像,我尝试过的很多图像处理都很好,但当我尝试上载2.05MB图像时,什么也没有上载(我尝试了其他大图像以确定图像是否有问题)。我认为这可能是一个溢出变量,但我想知道你的想法和解决这个问题的方法 <?php $titulo = $_POST['titulo-img']; $nombreImagen = $_FILES['input-img']['name']; $tipoImagen = $_FILES['input-img']['

我写的网页需要加载几乎任何大小的图像,我尝试过的很多图像处理都很好,但当我尝试上载2.05MB图像时,什么也没有上载(我尝试了其他大图像以确定图像是否有问题)。我认为这可能是一个溢出变量,但我想知道你的想法和解决这个问题的方法

<?php

    $titulo = $_POST['titulo-img'];
    $nombreImagen = $_FILES['input-img']['name'];
    $tipoImagen = $_FILES['input-img']['type'];
    $tamagnoImagen = $_FILES['input-img']['size'];
    $rutaDestino = $_SERVER['DOCUMENT_ROOT'] . "/shap/imagenes"; //temporal

    /*If i do the next: */
    echo "Tipo: " . $tipoImagen . "<br>"; //the output would be "Tipo: "
    //and the rest would be emty thing wich doesn't happen with small image

    if($tamagnoImagen<=524288000){ //about 500MB
        if($tipoImagen=="image/jpeg" || $tipoImagen=="image/jpg" || $tipoImagen=="image/png" || $tipoImagen=="image/gif" || $tipoImagen=="image/x-icon"){
            move_uploaded_file($_FILES['input-img']['tmp_name'], $rutaDestino . "/" .  $nombreImagen);
            if(file_exists($rutaDestino . "/" .  $nombreImagen)){
                echo "<p class='text-success'>Imagen subida con exito!</p>";
            }else{
                echo "<p class='text-danger'>Tuvimos un problema al subir la imagen. Por favor intentelo más tarde.</p>";
            }
        }else{
            echo "<p class='text-danger'>No se admiten los archivos de tipo: " . $tipoImagen . "</p>";
            echo "<div class='text-danger'><p>Sólo se admiten archivos tipo: </p><ul><li>jpg</li><li>png</li><li>gif</li><li>ico</li></ul></div>";
        }
    }else{
        echo "<p class='text-danger'>Archivo demasiado grande, lamentamos que nuestro limite de 500MB te detenga, algún día quitaremos este límite.</p>";
        echo "<p class='text-danger'>Si deseas que quitemos el límite puedes:</p>";
        echo "<ul class='text-primary'><li><a href='#'>Donar</a></li> <li><a href='#'>Ver un anuncio</a></li></ul>";
    }

?>

<form action="php/upload_image.php" class="form-horizontal" enctype="multipart/form-data" method="post">
    <div class="form-group">
        <div class="col-md-12"> 
            <input type="text" placeholder="Titulo de la imagen" class="form-control" name="titulo-img">
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-12">
            <label for="select-img">
                Seleccionar imagen
            </label>
            <input type="file" name="input-img">
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-6">
            <input type="submit" class="btn btn-primary form-control" value="Compartir">
        </div>
        <div class="col-md-6">
            <input type="button" class="btn btn-danger form-control" value="Cancelar">
        </div>
    </div>
</form>

默认情况下,PHP设置为只允许上传2MB或更少的文件。在PHP ini中,更改以下值以满足您的需要(我已将它们设置为32):

如果不想编辑您的ini,可以使用ini_set():


嘿,非常感谢你的回答,我尝试将以下代码添加到我的php文件中(我在文件的开头添加了它):ini_set('upload_max_filesize','500M');ini_设置(“柱最大尺寸”,“500米”);我做得对吗?我这样问是因为问题仍然存在:(如果有帮助的话,我会使用Xampp….当使用
ini_set()
upload_max_filesize
post_max_size
放入php文件时,并非所有ini设置都会生效。您需要在php.ini文件中更改这些设置。
upload_max_filesize = 32M
post_max_size = 32M
ini_set('upload_max_filesize', '32M');
ini_set('post_max_size', '32M');