Народ помогите разобраться,, на локалзосте все работает а на сервере уже нет.
Вот при попытке загрузить аватар выдает ошибку
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 |
нет расширение файла. Может ты намудрил что-то ... Может я ошибаюсь, не исключено

Спустя 13 минут, 34 секунды (2.01.2011 - 22:01) waldicom написал(а):
Цитата (welbox2 @ 2.01.2011 - 19:47) | ||
blade покажи файл который загружает аватар. Мне кажется там проблема. потому что:
нет расширение файла. Может ты намудрил что-то ... Может я ошибаюсь, не исключено ![]() |
Это скорее всего $_FILES['xxx']['tmp_name']
Спустя 11 минут, 27 секунд (2.01.2011 - 22:12) ИНСИ написал(а):
Цитата |
Это скорее всего $_FILES['xxx']['tmp_name'] |
согласен. Просто хочу увидеть творение автора. Если сайт лежит у хостера, не думаю что проблема у них. А если сайт у себя на компе, то 100% проблема у автора

Спустя 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'] напряму хостинг, видимо, не разрешает.
Т.е. работать с $_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 написал(а):
я вообще запутался
что мне нужно делать

Спустя 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'; // имя поля в форме |
теперь выдает ошибку
Произошла ошибка при загрузке файла на сервер!
Спустя 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 я сам все сделал, то есть оказал "медвежью" услугу. Но я сделал комменты. Ты изучи скрипт, пойми что и как работает. Чтобы потом ты мог правильно сам писаться скрипты.