奇怪的问题......我不知道为什么这不适用于我的服务器。脚本在计算机上工作,但不是服务器?
由于某些原因,IF不起作用。
令我困惑的主要原因是检查文件扩展名。即使它由于某种原因不匹配,它在我的服务器上返回TRUE,而不是我的电脑。
if (isset($_POST['submit'])) {
$sizelimit = 50; //File size limit in KB.
$destination_folder = 'images/user_avatars/temp/';
$fileurl = $_POST['avatar_url'];
$filetype = substr(strrchr($fileurl,'.'),1);
$filename = "user_" . $_SESSION[user_id] . "." . $filetype;
$temp = $destination_folder . $filename;
if ($filetype == "gif" || "png" || "jpg" || "jpeg") {
$file = fopen ($url, "rb");
if ($file) {
$newfile = fopen ($temp, "wb");
if ($newfile) {
while(!feof($file)) {
fwrite($newfile, fread($file, 1024 * 8), 1024 * 8);
}
}
}
if (filesize($temp) > 1024 * $sizelimit) {
$errors .= "The file size of the image you entered is too large!";
}
} else {
$errors .= "The URL you entered is not a valid image!";
}
if (isset($errors)) {
$smarty->assign("error_message", $errors);
unlink($temp);
} else {
$avatar_sql = "
UPDATE
users
SET
user_avatar = '$filename'
WHERE
user_id = '$_SESSION[user_id]'
";
$avatar_query = @mysqli_query ($db_connect, $avatar_sql);
fclose($file);
fclose($newfile);
}
}
基本上服务器*是*计算机......您也可以在自己的计算机上安装启用PHP的服务器。 – pimvdb 2011-05-22 17:40:39