Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   PHP 4.3.9 и mime_content_type() (http://forum.oszone.net/showthread.php?t=30970)

Prisoner 11-10-2004 05:56 212446

Доброго времени суток, господа. У меня уже ум за разум заходит - на адекватные решения не способен :). Помогите понять.
Емеется код:
Код:

<?
 *include_once('../class_pageinfo.php');
 *$URL = 'http://ks.org/img/1pxtr.gif';
 *var_dump(PageInfo::GetSummaryInfo($URL));
 *echo mime_content_type($URL);
?>

Дает этот код такой вывод:
Цитата:

Warning: mime_magic: invalid mode 073770. in D:\www\ApachePhpMysql\apache\home\local_ks\php\class_pageinfo.php on line 93
array(2) { ["type"]=> array(3) { ["mime"]=> string(0) "" ["type"]=> string(0) "" ["subtype"]=> string(0) "" } ["size"]=> array(3) { ["bytes"]=> int(0) ["words"]=> array(2) { ["total"]=> int(0) ["uniq"]=> int(0) } ["text"]=> int(0) } } text/plain
Т.е. вызов mime_content_type() из метода класса дает предупреждение и возвращает false, в то время как простой вызов этой функции (не из класса и вообще не из функции) корректно отрабатывает.
Вот код метода:
Код:

* * function GetSummaryInfo($URL)
 * * * {
 * * * *$PMIME = mime_content_type($URL);
 * * * *if ($PMIME !== false)
 * * * * *{
 * * * * * $PageInfo['type']['mime'] = $PMIME;
 * * * * * list($PageInfo['type']['type'], $PageInfo['type']['subtype']) = GetTypeByMIME($PMIME);
 * * * * * $PByteSize = GetSizeInBytes($URL);
 * * * * * if ($PByteSize === true)
 * * * * * * {
 * * * * * * *$PBody = file_get_contents($URL);
 * * * * * * *$PageInfo['size']['bytes'] * * * * *= sizeof($PBody);
 * * * * * * *$PageInfo['size']['words']['total'] = sizeof(GetAllWords($PBody));
 * * * * * * *$PageInfo['size']['words']['uniq'] *= sizeof(GetUniqWords($PBody));
 * * * * * * *$PageInfo['size']['text'] * * * * * = sizeof($PBody);
 * * * * * * }
 * * * * * else
 * * * * * * {
 * * * * * * *$PageInfo['size']['bytes'] = $PByteSize;
 * * * * * * }
 * * * * *}
 * * * *else
 * * * * *{
 * * * * * $PageInfo['type']['mime'] * * * * * = '';
 * * * * * $PageInfo['type']['type'] * * * * * = '';
 * * * * * $PageInfo['type']['subtype'] * * * *= '';
 * * * * * $PageInfo['size']['bytes'] * * * * *= 0;
 * * * * * $PageInfo['size']['words']['total'] = 0;
 * * * * * $PageInfo['size']['words']['uniq'] *= 0;
 * * * * * $PageInfo['size']['text'] * * * * * = 0;
 * * * * *}
 * * * *return $PageInfo;
 * * * }

Кстати, если просто сделать в главном файле функцию которая просто вызывает mime_content_type() и ничего более, то результат такой же - предупреждение и false. Я теряюсь в догадках вторые сутки, гугление и прочее не помогает :\

[s]Исправлено: Prisoner, 5:57 11-10-2004[/s]


[s]Исправлено: Prisoner, 5:59 11-10-2004[/s]

mar 11-10-2004 10:47 212447

Цитата:

просто сделать в главном файле функцию которая просто вызывает mime_content_type()
а что получится, если проверить, что за параметры она получает ( echo $URL; ) ?

Добавлено:

и вообще, что получается, если после каждой строчки бантики (echo) поставить? Там же еще парочка функций вызывается - с ними и с их вызовом все в порядке?

Prisoner 12-10-2004 04:03 212448

Привет, mar. Нет, параметр корректен - первым делом побайтно обследовал... ты не поверишь - заработало... не верь дальше - я ничего не менял %(. А функции в методе никакие не вызывались - $PMIME ведь false содержала. Сейчаз буду ждать... вдруг опять перестанет работать. Нужен бубен - факт.


Время: 15:58.

Время: 15:58.
© OSzone.net 2001-