[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка аватара
blade
Всех с прошевшим.

Народ помогите разобраться,, на локалзосте все работает а на сервере уже нет.
Вот при попытке загрузить аватар выдает ошибку


Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(/var/usersites/fifa.dnet.ua/tmp/phpz0YHK9) is not within the allowed path(s): (/var/usersites/fifa.dnet.ua/www) in /var/usersites/sitetest.ua/www/pages/profile.inc on line 86

Warning: getimagesize(/var/usersites/sitetest.ua/tmp/phpz0YHK9) [function.getimagesize]: failed to open stream: Operation not permitted in /var/usersites/fifa.dnet.ua/www/pages/profile.inc on line 86


В чем проблема может быть ? и как ее решить ?



Спустя 3 часа, 1 минута, 4 секунды (2.01.2011 - 20:45) waldicom написал(а):
Проблема описана в ошибке:
Цитата
open_basedir restriction in effect.

Это такая настройка в php.ini
Можно копировать файлы в разрешенную директорию и работать с ними уже оттуда

Спустя 18 минут, 31 секунда (2.01.2011 - 21:03) blade написал(а):
а где можно почитать как исправить данную ошибку ?

Спустя 5 минут, 24 секунды (2.01.2011 - 21:09) waldicom написал(а):
Это не ошибка, это настройка, которая делается хостером.
Поэтому дома идет, а на хостинге нет.

Спустя 29 минут, 18 секунд (2.01.2011 - 21:38) blade написал(а):
Цитата (waldicom @ 2.01.2011 - 18:09)
Это не ошибка, это настройка, которая делается хостером.
Поэтому дома идет, а на хостинге нет.

а как ее исправить, есть ли литература чтоб почитать ?

Спустя 6 минут, 13 секунд (2.01.2011 - 21:44) inpost написал(а):
blade
Она отключена хостером. Лучший вариант обратиться в Тех.Поддержку, скорее всего это запрещено ими, и доступ они не дадут...

Спустя 2 минуты, 45 секунд (2.01.2011 - 21:47) ИНСИ написал(а):
blade покажи файл который загружает аватар. Мне кажется там проблема. потому что:
Цитата
/var/usersites/fifa.dnet.ua/tmp/phpz0YHK9

нет расширение файла. Может ты намудрил что-то ... Может я ошибаюсь, не исключено smile.gif

Спустя 13 минут, 34 секунды (2.01.2011 - 22:01) waldicom написал(а):
Цитата (welbox2 @ 2.01.2011 - 19:47)
blade покажи файл который загружает аватар. Мне кажется там проблема. потому что:
Цитата
/var/usersites/fifa.dnet.ua/tmp/phpz0YHK9

нет расширение файла. Может ты намудрил что-то ... Может я ошибаюсь, не исключено smile.gif

Это скорее всего $_FILES['xxx']['tmp_name']

Спустя 11 минут, 27 секунд (2.01.2011 - 22:12) ИНСИ написал(а):
Цитата
Это скорее всего $_FILES['xxx']['tmp_name']

согласен. Просто хочу увидеть творение автора. Если сайт лежит у хостера, не думаю что проблема у них. А если сайт у себя на компе, то 100% проблема у автора smile.gif

Спустя 20 минут, 37 секунд (2.01.2011 - 22:33) blade написал(а):
Вот код файла.
Ошибка именно на сервере а не дома на локалхосте

<?php
if ($_FILES['avatar']['name'])
{
/// Проверяем на размер
if($_FILES['avatar']['size'] != 0 AND $_FILES['avatar']['size'] < 31*1024)
{
/// Проверяем содержимое
if($_FILES['avatar']['type'] == "image/gif" OR $_FILES['avatar']['type'] == "image/jpg" OR $_FILES['avatar']['type'] == "image/jpeg" OR $_FILES['avatar']['type'] == "image/png")
{
/// Проверяем загружен ли файл на сервер
if(is_uploaded_file($_FILES['avatar']['tmp_name']))
{
$iwh = GetImageSize($_FILES['avatar']['tmp_name']);
/// Проверяем размеры файла
if($iwh[0] > 100 or $iwh[1] > 100 or $iwh[0] < 100 or $iwh[1] < 100)
{
echo "<a href=index.php?page=profile><font color=#FF5353><b>Размер картинки должен быть не более и не менее чем 100х100</b></font></a>";
} else {
$type_file = str_replace("image/","",$_FILES['avatar']['type']);
/// Переносим файл из временной папки в нашу
if(move_uploaded_file($_FILES['avatar']['tmp_name'],"avatars/".$_SESSION["name"].".".$type_file))
{
mysql_query("UPDATE users SET avatars ='avatars/".$_SESSION["name"].".".$type_file."' WHERE usname = '".$_SESSION["name"]."'");

header('location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
exit();
} else {
echo "<a href=index.php?page=profile><font color=#FF5353><b>Произошла ошибка при загрузке файла на сервер!</b></font></a>";
}
}
}
else {
echo "<a href=index.php?page=profile><font color=#FF5353><b>Произошла ошибка при загрузке файла на сервер!</b></font></a>";
}
}
else{
echo "<a href=index.php?page=profile><font color=#FF5353><b>Неверный формат изображения! Поддерживаемые форматы gif, jpg, jpeg, png </b></font></a>";
}
}
else {
echo "<a href=index.php?page=profile><font color=#FF5353><b>Максималный размер файла 31 кб.</b></font></a>";
}
}
else {
?>
<form action="" method="post" enctype="multipart/form-data">
Установка аватара
<input type="file" name="avatar" style="border:1px solid #808080; color:#494949; background:#F7F7F7; font-family:Tahoma; font-size:12px;">
<
input type="submit" value="Загрузить" style="font-family:Tahoma; font-size:12px;">
</
form>
<?php
}
?>

Спустя 3 часа, 6 минут, 1 секунда (3.01.2011 - 01:39) waldicom написал(а):
Как я и говорил, сначала переносите файл в разрешенную директорию (move_uploaded_file()), а потом проверяйте его (GetImageSize()).

Т.е. работать с $_FILES['avatar']['tmp_name'] напряму хостинг, видимо, не разрешает.

Спустя 10 часов, 42 минуты, 15 секунд (3.01.2011 - 12:21) blade написал(а):
Цитата (waldicom @ 2.01.2011 - 22:39)
Как я и говорил, сначала переносите файл в разрешенную директорию (move_uploaded_file()), а потом проверяйте его (GetImageSize()).

Т.е. работать с $_FILES['avatar']['tmp_name'] напряму хостинг, видимо, не разрешает.

т.е сразу загружать его в папку предназначеную для хранения а не в временную ?

Спустя 31 минута, 44 секунды (3.01.2011 - 12:53) waldicom написал(а):
Цитата (blade @ 3.01.2011 - 10:21)
т.е сразу загружать его в папку предназначеную для хранения а не в временную ?

Нет. Загружать будет php, поэтому вы не можете из скрипта установить другую папку (только в инишнике). А вот работать надо, судя по всему, уже с перенесенным файлом.

Спустя 34 минуты, 12 секунд (3.01.2011 - 13:27) blade написал(а):
я вообще запутался sad.gif что мне нужно делать

Спустя 38 минут, 43 секунды (3.01.2011 - 14:06) ИНСИ написал(а):
blade попробуй так:
$uploadName = 'avatar'; // имя поля в форме
if(!empty($_FILES[$uploadName]['tmp_name'])) { // если поле файла не пусто, то загружаем
$maxSizeFile = 31 * 1024; // выставляем максимальный размер файла
$arrTypeFile = array('image/gif','image/jpg','image/jpeg','image/png'); // создаем массив с разрешенными форматами

if($maxSizeFile > $_FILES[$uploadName]['size']) { // проверям размер

if(in_array($_FILES[$uploadName]['type'],$arrTypeFile)) { // проверяем разрешен ли формат загружаемого файла

$ext = strtolower(str_replace('.', '', strrchr($_FILES[$uploadName]['name'],'.'))); // узнам тип файла
$path = 'avatars/'; // указываем папку, в которую надо загрузить
$newFile = $path . uniqid() . '.' . $ext; // создаем новый файл, путь + новое имя

if(move_uploaded_file($_FILES[$uploadName]['type'],$newFile)) { // сохраняем фото

$iwh = getimagesize($newFile); // достаем размеры с нового файла

if($iwh[0] > 100 or $iwh[1] > 100 or $iwh[0] < 100 or $iwh[1] < 100) { // проверяем файл
echo '<a href=index.php?page=profile><font color=#FF5353><b>Размер картинки должен быть не более и не менее чем 100х100</b></font></a>';
} else {

// добавляем новую запись в БД
mysql_query("
UPDATE `users`
SET `avatars` = '
{$newFile}'
WHERE `usname` = '
{$_SESSION['name']}'
"
);

header('location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
exit();
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Произошла ошибка при загрузке файла на сервер!</b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Неверный формат изображения! Поддерживаемые форматы gif, jpg, jpeg, png </b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Максималный размер файла 31 кб.</b></font></a>';
}
}


Спустя 1 час, 3 минуты, 25 секунд (3.01.2011 - 15:09) blade написал(а):
Цитата (welbox2 @ 3.01.2011 - 11:06)
blade попробуй так:
$uploadName = 'avatar'; // имя поля в форме
if(!empty($_FILES[$uploadName]['tmp_name'])) { // если поле файла не пусто, то загружаем
$maxSizeFile = 31 * 1024; // выставляем максимальный размер файла
$arrTypeFile = array('image/gif','image/jpg','image/jpeg','image/png'); // создаем массив с разрешенными форматами

if($maxSizeFile > $_FILES[$uploadName]['size']) { // проверям размер

if(in_array($_FILES[$uploadName]['type'],$arrTypeFile)) { // проверяем разрешен ли формат загружаемого файла

$ext = strtolower(str_replace('.', '', strrchr($_FILES[$uploadName]['name'],'.'))); // узнам тип файла
$path = 'avatars/'; // указываем папку, в которую надо загрузить
$newFile = $path . uniqid() . '.' . $ext; // создаем новый файл, путь + новое имя

if(move_uploaded_file($_FILES[$uploadName]['type'],$newFile)) { // сохраняем фото

$iwh = getimagesize($newFile); // достаем размеры с нового файла

if($iwh[0] > 100 or $iwh[1] > 100 or $iwh[0] < 100 or $iwh[1] < 100) { // проверяем файл
echo '<a href=index.php?page=profile><font color=#FF5353><b>Размер картинки должен быть не более и не менее чем 100х100</b></font></a>';
} else {

// добавляем новую запись в БД
mysql_query("
UPDATE `users`
SET `avatars` = '
{$newFile}'
WHERE `usname` = '
{$_SESSION['name']}'
"
);

header('location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
exit();
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Произошла ошибка при загрузке файла на сервер!</b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Неверный формат изображения! Поддерживаемые форматы gif, jpg, jpeg, png </b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Максималный размер файла 31 кб.</b></font></a>';
}
}

теперь выдает ошибку
Произошла ошибка при загрузке файла на сервер!

Спустя 3 минуты, 21 секунда (3.01.2011 - 15:12) ИНСИ написал(а):
blade я допустил ошибку, скопировал ... вот так попробуй:

$uploadName = 'avatar'; // имя поля в форме
if(!empty($_FILES[$uploadName]['tmp_name'])) { // если поле файла не пусто, то загружаем
$maxSizeFile = 31 * 1024; // выставляем максимальный размер файла
$arrTypeFile = array('image/gif','image/jpg','image/jpeg','image/png'); // создаем массив с разрешенными форматами

if($maxSizeFile > $_FILES[$uploadName]['size']) { // проверям размер

if(in_array($_FILES[$uploadName]['type'],$arrTypeFile)) { // проверяем разрешен ли формат загружаемого файла

$ext = strtolower(str_replace('.', '', strrchr($_FILES[$uploadName]['name'],'.'))); // узнам тип файла
$path = 'avatars/'; // указываем папку, в которую надо загрузить
$newFile = $path . uniqid() . '.' . $ext; // создаем новый файл, путь + новое имя

if(move_uploaded_file($_FILES[$uploadName]['tmp_name'],$newFile)) { // сохраняем фото

$iwh = getimagesize($newFile); // достаем размеры с нового файла

if($iwh[0] > 100 or $iwh[1] > 100 or $iwh[0] < 100 or $iwh[1] < 100) { // проверяем файл
echo '<a href=index.php?page=profile><font color=#FF5353><b>Размер картинки должен быть не более и не менее чем 100х100</b></font></a>';
} else {

// добавляем новую запись в БД
mysql_query("
UPDATE `users`
SET `avatars` = '
{$newFile}'
WHERE `usname` = '
{$_SESSION['name']}'
"
);

header('location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
exit();
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Произошла ошибка при загрузке файла на сервер!</b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Неверный формат изображения! Поддерживаемые форматы gif, jpg, jpeg, png </b></font></a>';
}


}
else {
echo '<a href=index.php?page=profile><font color=#FF5353><b>Максималный размер файла 31 кб.</b></font></a>';
}
}

Спустя 24 минуты, 44 секунды (3.01.2011 - 15:37) blade написал(а):
welbox2
Спасибо большое тебе!

Спустя 3 минуты, 57 секунд (3.01.2011 - 15:41) ИНСИ написал(а):
blade я сам все сделал, то есть оказал "медвежью" услугу. Но я сделал комменты. Ты изучи скрипт, пойми что и как работает. Чтобы потом ты мог правильно сам писаться скрипты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.