Обратите внимание: неопределенное смещение: 2 ИЛИ как получить место на жестком диске все время

$harddrive_out = format_bytes(kb2bytes($harddrive[2])).'<small> / '.format_bytes(kb2bytes($harddrive[1])).' <small>('.calculate_percentage(kb2bytes($harddrive[2]), kb2bytes($harddrive[1])).'% Free)</small></small>'; 

Эта строка дает мне эту ошибку

Я получил этот код с http://www.installgentoo.net/ он, очевидно, работает для них. Я использую Windows, и они, вероятно, используют Linux

Если это проблема Windows, как я могу сделать что-то, что работает для Windows И Linux (Это всегда получает правильный жесткий диск, поэтому я не использую что-то вроде disk_total_space("C:") потому что не все веб-серверы могут иметь его на диске C.

Если вы хотите методы, которые я использую

function format_bytes($bytes){ 
    if ($bytes < 1024){ return $bytes; } 
    else if ($bytes < 1048576){ return round($bytes / 1024, 2).'KB'; } 
    else if ($bytes < 1073741824){ return round($bytes / 1048576, 2).'MB'; } 
    else if ($bytes < 1099511627776){ return round($bytes / 1073741824, 2).'GB'; } 
    else{ return round($bytes / 1099511627776, 2).'TB'; } 
} 


    function kb2bytes($kb){ 
    return round($kb * 1024, 2); 
} 

function calculate_percentage($used, $total){ 
    return @round(100 - $used / $total * 100, 2); 

1 ответ

Уведомление информирует вас о том, что в

 $harddrive[2] 

2 не является допустимым индексом.

Так что попробуйте проверить по:

if(isset($harddrive[2])) // do your magic with that...
Другие вопросы по тегам