Prisoner
11-10-2004, 05:56
Доброго времени суток, господа. У меня уже ум за разум заходит - на адекватные решения не способен :). Помогите понять.
Емеется код:
<?
*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. Я теряюсь в догадках вторые сутки, гугление и прочее не помогает :\
Исправлено: Prisoner, 5:57 11-10-2004
Исправлено: Prisoner, 5:59 11-10-2004
Емеется код:
<?
*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. Я теряюсь в догадках вторые сутки, гугление и прочее не помогает :\
Исправлено: Prisoner, 5:57 11-10-2004
Исправлено: Prisoner, 5:59 11-10-2004