我的网站有一个小问题,这是一个免费的分类广告网站,人们上传照片到他们的广告等。
问题:我的上传脚本工作完美与我所有的电脑,但当我检查我的Error_Log它显示,很多人不能上传他们的图片(它上传在临时文件夹,但当我使用重命名功能复制它在广告文件夹它不工作,说:没有这样的文件blah blah blah。所以我找到了一个上传有问题的人,意识到问题出在ie浏览器上。
我的版本是:
Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;WOW64;三叉戟/5.0)
似乎工作得很好,他正在使用的版本是:
Mozilla/4.0 (compatible;MSIE 8.0;Windows NT 6.0;WOW64;三叉戟/4.0;SLCC1;.net CLR 2.0.50727;媒体中心PC 5.0;.net CLR 3.5.30729;. net CLR 3.
不工作
为什么我的函数在Internet Explorer 9.0, Firefox和Chrome中可以工作,而在IE 8中不能工作?
编辑(这是将文件从用户的temp文件夹传输到ad文件夹的代码:)
mkdir("./users/".$this->Username."/".$Id, 0755);
mkdir("./users/".$this->Username."/".$Id.'/thumbnail', 0755);
$Files_List = explode("@",$_POST['Files_Names']);
for($i = 0;$i < count($Files_List);++$i)
{
if($Files_List[$i] != "")
{
rename('./users/'.$this->Username.'/temp/'.$Files_List[$i], './users/'.
$this->Username.'/'.$Id.'/'.$Files_List[$i]);
rename('./users/'.$this->Username.'/temp/thumbnail/'.$Files_List[$i], './users/'.
$this->Username.'/'.$Id.'/thumbnail/'.$Files_List[$i]);
}
}
$dir = './users/'.$this->Username.'/temp/';
foreach(glob($dir.'*.*') as $v)
unlink($v);
$dir = './users/'.$this->Username.'/temp/thumbnail/';
foreach(glob($dir.'*.*') as $v)
unlink($v);
echo '<script>window.location = "./message.php?Message=Publier";</script>';
exit(0);
Error message:
[17-Oct-2011 12:31:17] PHP Warning: rename>(./users/francois/temp/thumbnail/2590cd9217.jpg ,./users/francois/186/thumbnail/2590cd9217.jpg ) [href='function.rename'>function.rename]: No such file or directory>in /home/kesimard/public_html/Montreal/publier.php on line 70
Line 70 = rename('./users/'.$this->Username.'/temp/thumbnail/'.$Files_List[$i], './users/'. $this->Username.'/'.$Id.'/thumbnail/'.$Files_List[$i]);
听起来更像是文件系统问题,而不是浏览器问题。在rename()
函数之前,尝试添加以下内容:
if (!file_exists('./users/' . $this->Username . '/' . $Id)) {
mkdir('./users/' . $this->Username . '/' . $Id);
}
if (!file_exists('./users/' . $this->Username . '/' . $Id . '/thumbnail')) {
mkdir('./users/' . $this->Username . '/' . $Id . '/thumbnail');
}