尝试上传个人资料照片时出错

Error trying to upload a profile picture

我正在创建一个网站,但在尝试上传个人资料图片时遇到一些错误... 这是代码:

HTML

<div id="upload_container" class="user_container profile">
<div class="container"><a class="btn cerrar"><span class="icon close"></span></a></div>
<div class="formulario">
<form action="include/php/upload.php" method="POST" enctype="multipart/form-data">
<h1>Selecciona una imagen</h1>
<input type="file" id="profileImage" name="profileImage" required />
<input type="submit" id="boton_perfil" value="Subir" class="btn" />
</form>
</div>
</div>

PHP

    <?php
    if($_FILES['profileImage']['name']){
    $mensaje = "";
    if(!$_FILES['profileImage']['error']){
        $imagen = rename($_FILES['profileImage']['tmp_name'], "user");
        $dimensiones = getimagesize(rtrim($_FILES['profileImage']['tmp_name']));
        $width = $dimensiones[0];
        $height = $dimensiones[1];

        if($_FILES['profileImage']['type'] != 'image/jpg'){
            $mensaje = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>El archivo debe tener extension .jpg</div></div></div>";
        }

        else if($width != 540 || $height != 540){
            $mensaje = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>El archivo debe ser 540x540</div></div></div>";
        }

        else if($_FILES['profileImage']['size'] > (1024000)){
            $valid_file = false;
            $mensaje = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen pesa demasiado</div></div></div>";
        }

        else if($valid_file){
            move_uploaded_file($_FILES['profileImage']['tmp_name'], "../database/usuarios/".$_POST["usuario"]."/".$imagen);
            $mensaje = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>Tu imagen ha sido actualizada</div></div></div>";
        }
    } else {
        $message = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>Hubo un error".$_FILES['photo']['error']."</div></div></div>";
    }
}
?>

这是错误LINK

当用户在网络上注册时,会设置一张默认图片。 这个想法是拍一张照片,像默认图片一样更改名称并将其移动到默认图片所在的位置......之前做一些例外,比如尺寸,尺寸等

已更新

警告:getimagesize(C:\wamp\tmp\phpF4F3.tmp):无法打开流:第 6[=13 行的 C:\wamp\www\tapeHD\include\php\upload.php 中没有此类文件或目录=]

您已重命名临时上传文件,然后尝试使用旧名称

 $imagen = rename($_FILES['profileImage']['tmp_name'], "user");

 $dimensiones = getimagesize(rtrim($_FILES['profileImage']['tmp_name']));

稍后在您的代码中执行

move_uploaded_file( $_FILES['profileImage']['tmp_name'], 
                    "../database/usuarios/".$_POST["usuario"]."/".$imagen);

这也会因为文件不存在而失败。

此外 rename() 创建的 $imagen 是布尔值 true or false 而不是文件名。

您不需要对临时文件进行重命名。您可以在执行 move_uploaded_file()

时为文件选择任何名称