尝试上传个人资料照片时出错
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()
时为文件选择任何名称
我正在创建一个网站,但在尝试上传个人资料图片时遇到一些错误... 这是代码:
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()