Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Warning: copy(../../20100222185751.jpg) [function.copy]: failed to open stream: Permission denied in /home/np21830/domains/basicline.ee/public_html/ki

Сообщения:  [1-10]   [11-20] 

 
 автор: kostiaGt   (22.02.2010 в 23:51)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 22:08)
 

а ваш у вас есть права на использования chmod?

  Ответить  
 
 автор: oliss   (22.02.2010 в 23:42)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 22:08)
 

А зачем это?
if (move_uploaded_file($_FILES['image']['tmp_name'], "files/".$image))

unlink($_FILES['image']['tmp_name']); // Уничтожаем файл во временной директории

  Ответить  
 
 автор: Trianon   (22.02.2010 в 23:35)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 22:32)
 

Надо научиться отличать относительные пути от абсолютных.
По совести, этот этап надо было пройти еще до первого знакомства с php

  Ответить  
 
 автор: KuPuJl   (22.02.2010 в 22:32)   письмо автору
 
   для: heed   (22.02.2010 в 22:30)
 

Это поставил я уже для профилактики.

  Ответить  
 
 автор: heed   (22.02.2010 в 22:30)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 22:08)
 

chmod("files/".$image, 0777);
, на картинки уже изменять права вроде не имеет смысла, их создатель php , и ему права позволяют записывать в них

  Ответить  
 
 автор: KuPuJl   (22.02.2010 в 22:19)   письмо автору
 
   для: heed   (22.02.2010 в 22:16)
 





  // Устанавливаем соединение с базой данных
  require_once ("../db.php");
  // Включаем файл с вспомогательными функцими
  include ("util.php");
  // Проверим - достаточно ли информации для занесения в базу данных
  if(empty($_POST['name'])) links($_POST['id_catalog'], "Отсутствует название фотографии");
  if(empty($_POST['pos'])) links($_POST['id_catalog'],  "Не введена позиция фотографии");
  // Проверяем скрыта или нет фотография
  if($_POST['hide'] == "on") $showhide = "show";
  else $showhide = "hide";
  // Заменяем одинарные кавычки обратными
  $_POST['name'] = str_replace("'", "`", $_POST['name']);
  // Если во временном каталоге имеется соответствующий полю image
  // файл, копируем его из временного каталога в каталог /files
  if (!empty($_FILES['image']['tmp_name']))
  {
    // Определяем расширение файла
    $ext = strrchr($_FILES['image']['name'], "."); 
    // Формируем путь к файлу    
    $image = "../".date("YmdHis",time())."$ext";
    $smallimage = "../".date("YmdHis",time())."_s$ext";  
    // Перемещаем файл из временной директории сервера в
    // директорию /files Web-приложения
    if (copy($_FILES['image']['tmp_name'], "../".$image))
    {
      // Уничтожаем файл во временной директории
      unlink($_FILES['image']['tmp_name']);
      // Изменяем права доступа к файлу
      chmod("../".$image, 0777);
    }
  } else links($_POST['id_catalog'], "Фотография не передана на сервер");
  // Вызываем функцию resizeimg(), создающую уменьшенную копию фотографии
  // $image и помещающую её в файл $smallimage
  if(!resizeimg($image, $smallimage, 133, 100))
  {
    links($_POST['id_catalog'],
          "Ошибка при создании уменьшенной копии изображения с
           помощью библиотеки GDLib");
  }






Начально вот так было. переробывал все варинаты.

  Ответить  
 
 автор: heed   (22.02.2010 в 22:16)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 22:08)
 

да имел ввиду так
, но тут ошибка

$image = "files/".date("YmdHis",time())."$ext";
и в move_uploaded_file снова второй раз к имени добавляется "files/".

  Ответить  
 
 автор: KuPuJl   (22.02.2010 в 22:08)   письмо автору
 
   для: heed   (22.02.2010 в 21:56)
 


<?  
print_r
($stat stat('files'));

printf("%o"$stat['mode']);
exit;
?>
<?php
  
require_once ("../db.php");
  
// Включаем файл с вспомогательными функцими
  
include ("util.php");
  
// Проверим - достаточно ли информации для занесения в базу данных
  
if(empty($_POST['name'])) links($_POST['id_catalog'], "Отсутствует название фотографии");
  if(empty(
$_POST['pos'])) links($_POST['id_catalog'],  "Не введена позиция фотографии");
  
// Проверяем скрыта или нет фотография
  
if($_POST['hide'] == "on"$showhide "show";
  else 
$showhide "hide";
  
// Заменяем одинарные кавычки обратными
  
$_POST['name'] = str_replace("'""`"$_POST['name']);
  
// Если во временном каталоге имеется соответствующий полю image
  // файл, копируем его из временного каталога в каталог /files
  
if (!empty($_FILES['image']['tmp_name']))
  {
    
// Определяем расширение файла
    
$ext strrchr($_FILES['image']['name'], "."); 
    
// Формируем путь к файлу    
    
$image "files/".date("YmdHis",time())."$ext";
    
$smallimage "files/".date("YmdHis",time())."_s$ext";  
    
// Перемещаем файл из временной директории сервера в
    // директорию /files Web-приложения
    
if (move_uploaded_file($_FILES['image']['tmp_name'], "files/".$image))
    {
      
// Уничтожаем файл во временной директории
      
unlink($_FILES['image']['tmp_name']);
      
// Изменяем права доступа к файлу
      
chmod("files/".$image0777);
    }
  } else 
links($_POST['id_catalog'], "Фотография не передана на сервер");
  
// Вызываем функцию resizeimg(), создающую уменьшенную копию фотографии
  // $image и помещающую её в файл $smallimage
  
if(!resizeimg($image$smallimage133100))
  {
    
links($_POST['id_catalog'],
          
"Ошибка при создании уменьшенной копии изображения с
           помощью библиотеки GDLib"
);
  }
  
// Формируем запрос
  
$query "INSERT INTO photo VALUES (NULL,
                                     '"
.$_POST['name']."',
                                     '
$smallimage',
                                     '
$image',
                                     '
$showhide',
                                     "
.$_POST['pos'].",
                                     "
.$_POST['id_catalog'].")";
  if(
mysql_query($query))
  {
    
// Осуществляем автоматический переход на главную
    // страницу администрирования
    /*echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=".$_POST['id_catalog']."'>
          </HEAD>";
    */      
  
} else links($_POST['id_catalog'], 
         
"Ошибка при добавлении новой записи в таблицу фотографий");
  
// Небольшая вспомогательная функция для вывода
  // сообщений в окно браузера
  
function links($id_catalog,$msg)
  {
    echo 
"<p>".$msg."</p>";
    echo 
"<p><a href=# onClick='history.back()'>Вернуться к правке фотографии</a></p>";
    echo 
"<p><a href=index.php?id_parent=$id_catalog>Администрирование фотогалереи</a></p>";
    exit();
  }
?> 

так ?

  Ответить  
 
 автор: heed   (22.02.2010 в 21:56)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 21:47)
 

поставьте в начале ютоло файла такие строки чтобы проверить
<pre><?  
print_r
($stat stat('files'));

printf("%o"$stat['mode']);
exit;
?>

//поправил имя папки

  Ответить  
 
 автор: KuPuJl   (22.02.2010 в 21:47)   письмо автору
 
   для: KuPuJl   (22.02.2010 в 21:42)
 

Safe_mode отключен. Только что проверил.

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования