Функция PHP Replace не работает с Internet Explorer 8 - PullRequest
0 голосов
/ 17 октября 2011

У меня небольшая проблема с моим сайтом, это бесплатный сайт объявлений, где люди загружают фотографии в свои объявления и т. Д.

Проблема: мой скрипт загрузки отлично работает со всеми моими компьютерами, но когда я проверяю свой журнал Error_Log, он показывает, что многие люди не могут загрузить свое изображение (оно загружается во временную папку, но когда я использую функцию переименования скопировать его в папку с рекламой, он не работает и сказать: «Нет такого файла, бла-бла-бла». Поэтому я нашел кого-то, у кого возникла проблема с загрузкой, и понял, что проблема была в Internet Explorer.

Моя версия:

Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

, который, кажется, работает нормально, и версия, которую он использует:

Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 6.0; WOW64; Trident / 4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.

который не работает.

Есть ли причина, по которой моя функция работает в Internet Explorer 9.0, Firefox и Chrome, но не в IE 8?

EDIT (Это код для переноса файлов из временной папки пользователя в папку объявлений:)

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]);

1 Ответ

1 голос
/ 17 октября 2011

Звучит скорее как проблема файловой системы, чем проблема браузера.Перед функциями 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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...