У вас есть две ошибки здесь:
strpos()
функция чувствительны к регистру, вы должны использовать вместо stripos()
. То же самое касается str_replace()
, вы должны использовать str_ireplace()
. Но поскольку вы заменяете обратную косую черту в своем коде, это не имеет никакого значения в этом случае.
strpos()
stripos()
и возвращение false
если не вхождения не найдены, и (int) false == 0
, так что если на occurency, если передаст его.
Попробуйте это:
function load($c) {
if (stripos($c, "Cyclos\\") !== false) {
include str_replace("\\", "/", $c) . ".php";
}
}
spl_autoload_register("load");
Однако причина может отличаться на разных файловых системах, на локальном хосте вы, возможно, имеют регистронезависимое файловую систему (NTFS, например), и «cyclos.php «это то же самое, что и« Cyclos.php », в то время как в системах ** nix с EXT * файловыми системами будут играть роль варианты вариантов имени файла.
waht для стояния «java» в теме? – 2oppin
, потому что этот скрипт связан с приложением Java – user3143519
, как это работает в java-приложении? если вы считаете, что это играет роль (имхо это не так), то прошлая часть кода, который извлекает данные из php-приложения, но на самом деле java + str_replace в теме не имеет смысла. Кстати, я опубликовал ответ (немного обновленный), разве это не помогло? – 2oppin