notice u getimagesize() při uploadu soboru < 12bytů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kafe
Člen | 3
+
0
-

Ahoj,

používám Nette 0.9.2 a při uploadu mi vyskakuje notice u souborů menších než 12 bytů. Chyba je hlášena jako:

Notice
getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error!

A stává se při zjišťování mime na řádku 98:

Nette/Web/HttpUploadedFile.php:

Line  91:        /**
Line  92:         * Returns the MIME content type of an uploaded file.
Line  93:         * @return string
Line  94:         */
Line  95:        public function getContentType()
Line  96:        {
Line  97:            if ($this->isOk() && $this->type === NULL) {
Line  98:                $info = getimagesize($this->tmpName);
Line  99:                if (isset($info['mime'])) {
Line 100:                    $this->type = $info['mime'];
Line 101:
Line 102:                } elseif (extension_loaded('fileinfo')) {
Line 103:                    $this->type = finfo_file(finfo_open(FILEINFO_MIME), $this->tmpName);
Line 104:
Line 105:                } elseif (function_exists('mime_content_type')) {

Call stack je:

<PHP inner-code> Debug:: _errorHandler (arguments ►)
Web/HttpUploadedFile.php (98) source ►  getimagesize (arguments ►)
Controls/FileUpload.php (124) source ►  HttpUploadedFile-> getContentType ()
<PHP inner-code> FileUpload:: validateMimeType (arguments ►)
Forms/Rules.php (184) source ►  call_user_func (arguments ►)
Forms/Rules.php (187) source ►  Rules-> validate (arguments ►)
Forms/FormContainer.php (168) source ►  Rules-> validate ()
Forms/FormContainer.php (153) source ►  FormContainer-> validate ()
Forms/Form.php (456) source ►  FormContainer-> isValid ()
Application/AppForm.php (142) source ►  Form-> fireEvents ()
Application/Presenter.php (340) source ►  AppForm-> signalReceived (arguments ►)
Application/Presenter.php (213) source ►  Presenter-> processSignal ()
Application/Application.php (152) source ►  Presenter-> run (arguments ►)
app/bootstrap.php (92) source ►  Application-> run ()
document_root/index.php (16) source ►  require (arguments ►)

Nemáte někdo s něčím podobným zkušenosti?

Díky

Filip Procházka
Moderator | 4668
+
0
-

zkus jestli ten soubor jde vůbec z toho umístění přečíst, file_get_contents ti vrací to stejné ?

kafe
Člen | 3
+
0
-

HosipLan napsal(a):

zkus jestli ten soubor jde vůbec z toho umístění přečíst, file_get_contents ti vrací to stejné ?

Přečíst jde, jakmile přidám 11bytovýmu souboru jeden byte, už jde nahrát a všechno funguje jak má. File_get_contents žádnou chybu nevyhazuje.

kafe
Člen | 3
+
0
-

Tak jen zajímavé doplnění, pokud si povolím Debug::$strictMode = TRUE, tak notice mi vyskakuje i v basic-example.php v ukázkových příkladech z Nette. Používám PHP 5.2.10.