我正在创建一个网站,我在尝试上传个人资料图片时遇到了一些错误... 这是代码:
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行的C:\ wamp \ www \ tapeHD \ include \ php \ upload.php中没有此类文件或目录< / p>
答案 0 :(得分:1)
您已重命名临时上传文件,然后尝试使用旧名称
$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);
由于文件不存在,这也会失败。
$imagen
创建的rename()
是布尔true or false
,而不是文件名。
您不需要在临时文件上进行重命名。执行move_uploaded_file()