Здравствуйте, вот написал скрипт добавление файлов на сервер:
HTML
<form action="gallery_add.php" enctype="multipart/form-data" method="post">
<input name="image" type="file" />
<input name="submit" type="submit" value="Отправить" />
</form>
PHP
<!--?php
include( 'db.php' );
session_start( );
$max_image_wight = 800;
$max_image_height = 600;
$max_image_size = 150 * 1024;
$dir = '/files/img';
$file_e = array( "gif", "jpeg", "jpg", "png");
if ( !is_uploaded_file( $_FILE[ 'image' ][ 'tmp_name' ] ) )
{ echo $_FILE[ 'image' ][ 'error' ]; exit( "Ошибка" ); }
if( isset( $_FILE[ 'image' ][ 'tmp_name' ] ) )
{
if ( $_FILE[ 'image' ][ 'size' ] --> 0 && $_FILE[ 'image' ]['size'] <= $max_image_size )
{
$W_and_H = getimagesize( $_FILE[ 'image' ][ 'size' ] );
if ( $W_and_H[ 0 ] <= $max_image_wight && $W_and_H[ 1 ] <= $max_image_height )
{
$flag = '';
$dir_w = opendir( $dir );
while( $dir_date = readdir( $dir_w ) )
{
if ( $dir_date == date( 'Y-m-d' ) )
{
$flag = true;
}
}
if ( $flag )
$dir = $dir_date;
else
$dir = mkdir( "$dir/".date( 'Y-m-d' ) );
$name = substr( $_FILE[ 'image' ][ 'name' ], 1 + strrpos( $_FILE[ 'image' ][ 'name' ], '.' ) );
if ( in_array( $name, $file_e ) )
{
$file_name = date( 'H-i' ).'.'.$name;
move_uploaded_file( $_FILE[ 'image' ][ 'tmp_name' ], $dir.'/'.$file_name );
}
else
{
header( 'Location: gallery.php' );
$_SESSION[ 'error' ] = "Неверный формат файла!";
}
}
else
{
header( 'Location: gallery.php' );
$_SESSION[ 'error' ] = "Изображение не может быть больше чем 800x600 пикселей!";
}
}
else
{
header( 'Location: gallery.php' );
$_SESSION[ 'error' ] = "Некорректный размер файла!";
}
}
else
{
header( 'Location: gallery.php' );
$_SESSION[ 'error' ] = "Вы не выбрали изображение для загрузки!";
}
?>
Но он не работает. А точнее файл не загружается на сервер ( вроде бы ). Глобальные переменные $_FILE не создаются вообще, строчка
echo $_FILE[ 'image' ][ 'error' ];
ничего не выводит.
Пишет "Ошибка" и всё, больше ничего. В чём может быть проблема?
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|