为什么取不到值??晕了 分给错了

simplegift 2003-08-25 11:43:56
class.iamge.php:
<?
class image
{

var $mPhoto;
var $mPhoto2;
var $mDB;

function image()
{
$this->mDB = new mysql;
}

function uploadFiles($up,$upload,$pEmail)
{
$minSize=1;
$maxSize=10000;
$imagePath="./images/";

$type=substr(strrchr($up['name'],"."),1);
$type9=substr(strrchr($upload['name'],"."),1);
$type1="jpg";
$type2="gif";

if ((strcmp($type,$type1)) and (strcmp($type,$type2))and(strcmp($type9,$type1)) and (strcmp($type9,$type2)))
{

exit( "<script language=javascript >window.alert(\"图片只支持jpg或者gif!!\");window.history.back();</script>");
}


if(!$up['size']<$minSize && !$upload['size']<$minSize)
{
if($up['size'] >$maxSize && $upload['size']>$maxSize)
{
echo "<script language=javascript >window.alert(\"文件太大!请您按要求发送!\");</script>";
return false;//返回值
}
else
{

$str=explode(".",$up['name']);
$str1=explode(".",$upload['name']);

$sql="select user_id from member where email = '$pEmail'";
$result = $this->mDB->query($sql);

$row = $this->mDB->fetchArray($result);

$pUserId = $row[user_id];
$upname=$pUserId."_s".$str[1];
$uploadname=$pUserId."_l".$str[1];

$upfile = $imagePath.$upname;
$uploadfile = $imagePath.$uploadname;
if( copy($up['tmp_name'],$upfile) && copy($upload['tmp_name'],$uploadfile))
{
echo "<script language=javascript >window.alert(\"图片成功上传!!\");window.history.back();</script>";
$this->insertInto($upname,$uploadname,$pEmail);
return true;//返回值
}
else
{
echo "<script language=javascript >window.alert(\"图片失败上传!!\");window.history.back();</script>";
return false;//返回值
}
}
}
}

function insertInto($up,$upload,$pEmail)
{

$sql="update member set photo='$up',photo2='$upload' where email='$pEmail'";

return $this->mDB->query($sql);
}


function updateImage($pUpimage,$pUpimage2,$pEmail)
{
$sql="update member set photo='$pUpimage',photo2='$pUpimage2'";
return $this->mDB->query($sql);
}





function getImage($pUserId)
{
$sql = "select photo,photo1 from member where user_id='$pUserId'";
$result = $this->mDB->query($sql);
if($row = $this->mDB->fetchArray($result))
{
$this->mPhoto = $row["photo"];
$this->mPhoto1 = $row["photo1"];
return true;
}
else
return false;
}

/**
*生成缩略图
*/
function getResizedPic ($srcFile, $dstFile, $dstW, $dstH)
{
$data = GetImageSize($srcFile,&$info);


switch ($data[2]) //$giforjpg = $data[2];
{
case 1:
$im = ImageCreateFromGIF($srcFile);
break;
case 2:
$im = imagecreatefromjpeg($srcFile);
break;
}


$srcW = ImageSX ($im);
$srcH = ImageSY ($im);
$dstX = 0;
$dstY = 0;


if ($srcW * $dstH > $srcH * $dstW)
{
$fdstH = round ($srcH * $dstW / $srcW);
$dstY = floor (($dstH - $fdstH) / 2);
$fdstW = $dstW;
}
else
{
$fdstW = round ($srcW * $dstH / $srcH);
$dstX = floor (($dstW - $fdstW) / 2);
$fdstH = $dstH;
}


$ni = ImageCreate ($dstW, $dstH);
$dstX = ($dstX < 0) ? 0 : $dstX;
$dstY = ($dstX < 0) ? 0 : $dstY;
$dstX = ($dstX > ($dstW / 2)) ? floor ($dstW / 2) : $dstX;
$dstY = ($dstY > ($dstH / 2)) ? floor ($dstH / 2) : $dstY;


$black = ImageColorAllocate ($ni, 238, 238, 238); //填充的背景色你可以重新指定,我用的是#EEEEEE
imagefilledrectangle ($ni, 0, 0, $dstW, $dstH, $black);
ImageCopyResized ($ni, $im, $dstX, $dstY, 0, 0, $fdstW, $fdstH, $srcW, $srcH);

if($data[2] == 2)
ImageJpeg ($ni); //如果你要把图片直接输出到浏览器,那么把第二个参数去掉,并用header()函数指定mine类型
else
ImageGif ($ni); //


imagedestroy ($im);
imagedestroy ($ni);
chmod ($dstFile, 0755);
return true;

//header('Content-Type: image/jpeg');
}

}
?>

register.php:

.....
if($user->addUser($username,$nickname ,$birthday,$gender ,$gameid,$city ,$jointime,$bloodtype ,$avoirdupois,$bodilyform ,$oicq,$icq,$msn,$userintro ,$toevery,$gameroll,$constellation,$email,$province,$love,$address,$zip))
{


if($image->uploadFiles($photo,$photo1,$email))
{ $user->addPassword($username,$password);

echo "<script>alert('注册成功');window.history.back();</script>";
}
}
else
echo "<script>alert('注册失败,该用户名或者email已经注册!');window.history.back();</script>";

问题:在调用$image->uploadFiles($photo,$photo1,$email))时,$photo,$photo1的值并没有传到函数中,请各位指教!
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpio 2003-08-25
  • 打赏
  • 举报
回复
可以把你的php.ini文件里面的global什么,把它的值改成on就可以用你的代码了

如果不改就得用$_FILES[""]数组了
ashchen 2003-08-25
  • 打赏
  • 举报
回复
新版本的上传文件改了,不自动全局变量了,查查资料
需要用$_FILES['']数组
simplegift 2003-08-25
  • 打赏
  • 举报
回复
做了 没有问题
hover_online 2003-08-25
  • 打赏
  • 举报
回复
做一个一般的提交,如果参数传不到下一个叶面,那一般来讲你的register_globals 就没有打开!
simplegift 2003-08-25
  • 打赏
  • 举报
回复
我是传到服务器上调试的,不能改php.ini,我用第一个页面上传也成功了,但目录中的图片的size为0
我希望得到的文件格式:user_id_l.type但现在的是:“user_id_l.”还有个问题因为我是先insert 在加入图片,而图片的名字是用户id,遇到的问题是,用户信息正确添加后,图片信息错误不能添加,但再次进行操作是用户名和email已经使用了 我要怎么做啊
xuzuning 2003-08-25
  • 打赏
  • 举报
回复
既然你知道如何修改了,不就行了吗?

是否需要修改register_globals设置,要视isp决定。

若自己就是isp,建议register_globals = Off
shuiaaa 2003-08-25
  • 打赏
  • 举报
回复
你的php.ini文件里
register_globals = Off
改成
register_globals = On
simplegift 2003-08-25
  • 打赏
  • 举报
回复
但我这样就可以:upload。php
<?
include_once("inc.php");
$image = new image;

if($_POST['submit'])
{


$image->uploadFiles($_FILES['up'],$_FILES['upload']);//.$email);

}
?>
<form method="post" enctype="multipart/form-data" name="form1">
<input name="up" type="file"><br>
<input name="upload" type="file">
<br/><input type="submit" name=submit value="提交">
<br>
<a href="./images/27675.jpg"><img src="./images/27675.jpg" width="100" height="100" border="0"></a>
<input name="reset" type="reset" id="reset" value="重置"></form>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧