2011-12-20 6 views
5

jestem teraz nauczenie się wyodrębnić exif od images.I napisałem prosty kod tak:PHP: exif_read_data() niezdefiniowane

<?php 
//Get the exif data 
$exif_data = exif_read_data('sample.jpg'); 
print_r($exif_data); 
?> 

Ale jest to błąd krytyczny o nieokreślonej exif_read_data(), gdy uruchomienie kodu. Jestem użytkownikiem Windows, a ja zmodyfikowany php.ini tak:

extension=php_mbstring.dll 
extension=php_exif.dll 

Dzięki za pomoc.

+1

Czy te rozszerzenia pokazać się w 'phpinfo()' wyjście? –

Odpowiedz

8
  • Czy masz te pliki DLL w swoim systemie pod folderem Php/ext?

  • Czy uruchomiłeś ponownie Apache po edycji php.ini?

  • Edytowana przez Ciebie php.ini jest używana przez system? Możesz zweryfikować ten wynik odczytu: <?php phpinfo() ?>.

  • Czy w pliku <?php phpinfo() ?> jest wyświetlana informacja o rozszerzeniu EXIF?

+0

Dlaczego te głosy na dół? –

+3

Wygląda na to, że ktoś widzi tę odpowiedź bardziej jako komentarz. –

+0

Ja również odrzucam z tego powodu, ponieważ kiedy to zrobiłem, odpowiedź była właściwie tylko pierwszym punktem kulminacyjnym w tym czasie. To wydawało się bardziej komentarzem. W tym momencie jest to bardziej jak lista kontrolna, więc odpowiedź uległa poprawie. – Oldskool

1

Jeśli exif.so lub php_exif.dll włączony pod php.ini dynamicznych rozszerzeń, ale wciąż masz problem z uruchomieniem jakiejkolwiek funkcji, możliwe jest, że może trzeba celu zmianę rozszerzenia w PHP. ini.

W wielu pakietach instalacyjnych PHP rozszerzenia są wymienione alfabetycznie. Jednakże, exif jest zależne od załadowania najpierw mbstrings. Jednak przy porządkowaniu alfabetycznym exif jest wymienione przed mbstringami i powoduje błąd. Załaduj rozszerzenia mbstring przed exif.

W związku z tym należy dodać exif jako ostatnie rozszerzenie do załadowania i powinno być dobrze.

http://php.net/manual/en/book.exif.php

+0

sprawdź to używając 'phpinfo()' – Strik3r