Пожалуйста, помагите с PHP
Ребят, подскажите, почему я загружаю одни и теже файлы на разные сайты, один работает (фотки грузит без поблем) а второй сайт не хочет загружать картинки напрочь пишет ошибки следущие:
Warning: move_uploaded_file(avatars/diet4.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in...
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpXVrWs8' to 'avatars/diet4.jpg' in....
Warning imagecreatefromjpeg(avatars/diet4.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in...
Warning: imagesx(): supplied argument is not a valid Image resource in ...(и т. д. )
1. файл reg.php
<h2>Регистрация</h2>
<form>
<p>
<label>Выберите аватар. Изображение должно быть формата jpg, gif или png:</label>
<input>
</p>
<input>
</form>
_____________________________________________________________
2. сам файл обработчик save_user.php (папка avatars с картинкой нет аватара есть в общей директории)
if (empty($_FILES['fupload']['name']))
{
//если переменной не существует (пользователь не отправил изображение), то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
$avatar = "avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg
}
else
{
//иначе - загружаем изображение пользователя
$path_to_90_directory = 'avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
{
$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
//СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
// Создание квадрата 90x90
// dest - результирующее изображение
// w - ширина изображения
// ratio - коэффициент пропорциональности
$w = 90; // квадратная 90x90. Можно поставить и другой размер.
// создаём исходное изображение на основе
// исходного файла и определяем его размеры
$w_src = imagesx($im); //вычисляем ширину
$h_src = imagesy($im); //вычисляем высоту изображения
// создаём пустую квадратную картинку
// важно именно truecolor!, иначе будем иметь 8-битный результат
$dest = imagecreatetruecolor($w,$w);
// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src>$h_src)
imagecopyresampled($dest, $im, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
Permission denied in.. -нет доступа к папке (в юниксе надо на папках выставлять права на чтение/запись/исполнение)
а дальше все ошибки из-за того что вы пытаетесь работать с несуществующим файлом!
Может права доступа не выставил? проверь CHMOD на папку
Сначала найди того, кто поможет с русским.