【发布时间】:2014-10-28 04:11:22
【问题描述】:
我有一个问题。我有一个表格来更改用户个人资料图像。如果用户没有以前的图像,则 php 工作正常,图像已上传,如果文件存在,则 move_uploaded_file 不会替换图像,它可以在我的本地主机上工作,但不能在我的在线服务器上工作。这是我的代码
if ($_POST['parse_var'] == "pic"){
// If a file is posted with the form
if ($_FILES['fileField']['tmp_name'] != "") {
$maxfilesize = 4109212;
if($_FILES['fileField']['size'] > $maxfilesize ) {
$error_msg = '<font color="#FF0000">ERROR: Your image was too large, please try again.</font>';
unlink($_FILES['fileField']['tmp_name']);
} else if (!preg_match("/\.(gif|jpg|png|jpeg)$/i", $_FILES['fileField']['name'] ) ) {
$error_msg = '<font color="#FF0000">ERROR: Your image was not one of the accepted formats, please try again.</font>';
unlink($_FILES['fileField']['tmp_name']);
} else {
$newname = "profile.jpg";
$place_file = move_uploaded_file( $_FILES['fileField']['tmp_name'], "users/$id/".$newname);
}
}
}
任何想法为什么?它在用户第一次更改它时工作,它可能是一个 PHP .ini 问题? 文件第一次正确上传,上传图片后就无法正常工作了,好像不能替换文件夹内的图片
【问题讨论】:
-
unlink()没有意义,因为临时文件将在脚本执行终止时被 PHP 删除。 -
$place_file 里面有什么?
-
文件上传了吗?
-
文件第一次上传正确,上传了图片就不行了,好像不能替换文件夹里面的图片