загрузчик фотографий php - PullRequest
       7

загрузчик фотографий php

0 голосов
/ 16 апреля 2011

У меня есть очень простой загрузчик фотографий, который нужно немного ускорить, пожалуйста,

Во-первых, эхо появляется, когда страница загружается, хотя в коробке ничего нет?

if($_POST['upload']) {
     if($_FILES['image']['name'] == "")
     {
         #there's no file name return an error
         echo "\n<b>Please select a file to upload!\n</b>";
         exit;
     }
     #we have a filename, continue
}

#directory to upload to
$uploads = '/home/habbonow/public_html/other/quacked/photos';
$usruploads = 'photos';

#allowed file types
$type_array = array('image/gif','image/pjpeg','image/x-png');

if(!in_array($_FILES['image']['type'], $type_array))
{
    #the type of the file is not in the list we want to allow
    echo "\n<b>That file type is not allowed!\n</b>";
    exit;
}

вывод страницы показывает окно загрузки, но также выдает "Этот тип файла не разрешен!" даже когда я не нажал кнопку.

во-вторых, каков тип mime для jpg, пожалуйста, так как у меня есть jpeg и pjpeg.

спасибо, любая помощь приветствуется.


Ответы [ 2 ]

1 голос
/ 16 апреля 2011

Я бы также предложил поместить все в блок POST, иначе он будет оцениваться при загрузке страницы, несмотря ни на что.

Для mimetypes существует метод image_type_to_mime_type , который позволяет вам передавать константу, представляющую данный тип файла, и возвращает для нее подходящий mimetype, например ::

$type_array = array(image_type_to_mime_type(), image_type_to_mime_type(IMAGETYPE_GIF), image_type_to_mime_type(IMAGETYPE_PNG), 'image/pjpeg');

(поскольку у pjpeg нет собственной константы, мы можем просто добавить ее вручную)

0 голосов
/ 16 апреля 2011

Если вы не отправили форму, я думаю, что вызов! Inarray с большой вероятностью мог бы вернуть false, поскольку $ _FILES ['images'] не существовало бы.

Для этого мне хотелось бы поместить весь лот в первое выражение if:

if($_POST['upload']) {
     if($_FILES['image']['name'] == "")
     {
         #there's no file name return an error
         echo "\n<b>Please select a file to upload!\n</b>";
         exit;
     }
     #we have a filename, continue


     #directory to upload to
     $uploads = '/home/habbonow/public_html/other/quacked/photos';
     $usruploads = 'photos';

     #allowed file types
     $type_array = array('image/gif','image/pjpeg','image/x-png');

     if(!in_array($_FILES['image']['type'], $type_array))
     {
         #the type of the file is not in the list we want to allow
         echo "\n<b>That file type is not allowed!\n</b>";
         exit;
     }
}
...