[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание папок на сервере
Эли4ка
Скажите пожалуйста как мне сделать следующее..есть строка для ввода имени папки(только латиница) при нажатии кнопки создать,создается папка с именем которое ввели в строке ввода?Буду признательна... smile.gif



Спустя 21 минута, 33 секунды (15.10.2011 - 06:43) Draftpad написал(а):
Функцией mkdir()

Спустя 8 минут, 4 секунды (15.10.2011 - 06:51) Эли4ка написал(а):
Draftpad
спасибо сейчас попробую разобраться..а можете подсказать хороший пример перемещение файла?

Спустя 9 минут, 13 секунд (15.10.2011 - 07:00) Эли4ка написал(а):
<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
echo "не удалось скопировать $file...\n";
}
?>


на денвере(виндоус) у меня пишет ошибка.почему?

Спустя 16 минут, 40 секунд (15.10.2011 - 07:17) Draftpad написал(а):
Было бы чудно узнать, какую ошибку пишет. И эта функция не перемещает файл, просто создаёт копию, вот пример для перемещения:

$source = 'readme.txt';
$dest = "./backups/readme.txt";
rename($source, $dest);

Спустя 7 минут, 2 секунды (15.10.2011 - 07:24) Эли4ка написал(а):
пишет следующую ошибку не удалось скопировать $file...,и за пример спасибо..

Спустя 17 минут, 32 секунды (15.10.2011 - 07:42) johniek_comp написал(а):
вот так пиши
echo 'не удалось скопировать ' . $file . '...\n'

Спустя 48 минут, 43 секунды (15.10.2011 - 08:30) Invis1ble написал(а):
Эли4ка
Цитата
пишет следующую ошибку не удалось скопировать $file.

вот пояснение из того же мануала
Цитата
Замечание отностильно совместимости Windows: Если вы копируете пустой файл, copy() вернёт FALSE, но файл будет нормально скопирован.

само копирование выполняется?

Спустя 2 часа, 52 минуты, 22 секунды (15.10.2011 - 11:23) Эли4ка написал(а):
Invis1ble
нет..вот именно..

Спустя 15 минут, 18 секунд (15.10.2011 - 11:38) Draftpad написал(а):
Эли4ка, а права записи в директории выставлены?

Спустя 6 минут, 28 секунд (15.10.2011 - 11:44) Эли4ка написал(а):
Draftpad
у меня виндоус..

Спустя 4 минуты, 25 секунд (15.10.2011 - 11:49) Эли4ка написал(а):
ребята а можете скрипт дать или намекнуть как сделать чтобы после загрузки изображения создавались три копии в других масштабах(допустим 300 на 300;100x100;200x200) ???

Спустя 1 час, 38 минут, 20 секунд (15.10.2011 - 13:27) kovaldm написал(а):
Скрипт могу дать, но нужно будет подключать GD.

Спустя 1 час, 2 минуты, 48 секунд (15.10.2011 - 14:30) Эли4ка написал(а):
kovaldm
давайте..но если Вам это не трудно..просто я никак не могу разобраться с решением..

Спустя 52 минуты, 25 секунд (15.10.2011 - 15:22) kovaldm написал(а):
Создает превью изображения с сохранением пропорций высоты/ширины.
То есть если исходный рисунок прямоугольный, а превьюшка должна быть квадратная, то оставшиеся области будут залиты каким-нибудь цветом.
Свернутый текст
    class createImagePreview
{
private $orig_x; //Высота исходного изображения
private $orig_y; //Ширина исходного изображения
private $orig_img; //Расположение исходного изображения
private $filetype; //Тип исходного файла
private $new_x; //Ширина нового изображения
private $new_y; //Высота нового изображения

private $red; //RGB составляющая фона - красный
private $green; //RGB составляющая фона - зеленый
private $blue; //RGB составляющая фона - синий

private $new_img; //Расположение нового изображения
public $result; //Результат: true или текст ошибки

private $errors = array( 1 => 'Исходный файл не найден',
2 => 'Формат исходного файла не поддерживается',
3 => 'Указанная для записи директория не найдена',
4 => 'Размеры нового файла указаны некорректно',
5 => 'Не удалось уменьшить исходное изображение',
6 => 'Не удалось записать новое изображение',
7 => 'Файл поврежден или имеет неверный формат');

/**
* Вызываемый метод для изменения изображения
*
* $orig_img - полное имя исходного файла
* $new_img - полное имя получаемого файла
* $new_x - ширина получаеиго изображения
* $new_y - высота получаемого изображения
*/

function create($orig_img, $new_img, $new_x = 100, $new_y = 100)
{//Проверяем наличие исходного файла
if(!file_exists($orig_img))
{
$this -> result = $this -> errors[1];
return false;
}

//Проверяем формат исходного файла
$ext = $this -> getExtension($orig_img);
if(!function_exists('imagecreatefrom' . $ext))
{
$this -> result = $this -> errors[2];
return false;
}

//Проверяем наличие папки для записи нового файла
if(!file_exists(dirname($new_img)))
{
$this -> result = $this -> errors[3];
return false;
}

//Проверяем корректность 'x', 'y' параметров нового файла
if(!is_int($new_x) || !is_int($new_y))
{
$this -> result = $this -> errors[4];
return false;
}

//Параметры исходного изображения
$param = getimagesize($orig_img);

//Устанавливаем свойства
$this -> orig_x = $param[0];
$this -> orig_y = $param[1];
$this -> orig_img = $orig_img;
$this -> filetype = $ext;
$this -> new_x = $new_x;
$this -> new_y = $new_y;
$this -> new_img = $new_img;

return $this -> resize();
}

/**
* Возвращает расширение файла
*/

private function getExtension($name)
{
$name = basename($name);
$pos = strrpos($name, '.');
if($pos === false)
return false;

$ext = substr($name, $pos + 1);

$ext = ($ext == 'jpg')? 'jpeg' : $ext;

return $ext;
}

/**
* Устанавливает фон получаемого рисунка
*/

public function setBgcolor($r, $g, $b)
{
$this -> red = $r;
$this -> green = $g;
$this -> blue = $b;
}

/**
* Уменьшает рисунок
*/

private function resize()
{
$func_name = 'imagecreatefrom'. $this -> filetype;

//Идентификатор исходного изображения
if(!$orig_img = $func_name($this -> orig_img))
{
$this -> result = $this -> errors[7];
return false;
}

//Идентификатор нового изображения
$new_img = imagecreatetruecolor($this -> new_x, $this -> new_y);

//Заливка фона
$this -> red = ($this -> red === null)? 255 : $this -> red;
$this -> green = ($this -> green === null)? 255 : $this -> green;
$this -> blue = ($this -> blue === null)? 255 : $this -> blue;

$color = imagecolorallocate($new_img, $this -> red, $this -> green, $this -> blue);
imagefill($new_img, 0, 0, $color);

//Параметры нового изображения
$x = $this -> orig_x;
$y = $this -> orig_y;

$ratio = $x / $y;

$new_width = $this -> new_x;
$new_height = round($new_width / $ratio, 0);

$start_x = 0;
$start_y = round(($this -> new_y - $new_height) / 2, 0);

if($new_height > $this -> new_y)
{
$new_height = $this -> new_y;
$new_width = round($ratio * $new_height, 0);

$start_y = 0;
$start_x = round(($this -> new_x - $new_width) / 2, 0);
}

$res = imagecopyresampled($new_img, $orig_img, $start_x, $start_y, 0, 0, $new_width, $new_height, $this -> orig_x, $this -> orig_y);

if(!$res)
{
$this -> result = $this -> errors[5];
return false;
}

$funcname = 'image'. $this -> filetype;

if(!$funcname($new_img, $this -> new_img))
{
$this ->result = $this -> errors[6];
return false;
}
else
$this -> result = true;

//Освобождаем память
imagedestroy($orig_img);
imagedestroy($new_img);

return true;
}
}


//Создаем превьюшку
$ob = new createImagePreview;

//Здесь устанавливаем фон RGB
$ob -> setBgcolor(253, 233, 16);

//Здесь устанавливаем полное имя исходного рисунка, получаемого рисунка,
//ширину/высоту нового рисунка в пикселах.

if($ob -> create('./image.jpg', './img1.jpg', 200, 200) === true)
echo 'Congratulations!';
else
echo $ob -> result;

Спустя 51 минута, 39 секунд (15.10.2011 - 16:14) Эли4ка написал(а):
попробую разобраться..спасибо за пример..

Спустя 1 день, 2 часа, 46 минут, 53 секунды (16.10.2011 - 19:01) Xes написал(а):
Вот могу свое кинуть но здесь много лишнего так как написано конкретно под меня.
Но зато практически на каждом этапе есть Вывод ошибки поэтому можно легоко разобраться и удалить не нужные участки.

/*====================Загрузка Логотипа Фотографии====================*/
function load_logfoto(){

if(file_exists(ROOT.'/foto/'.$folder) && is_dir(ROOT.'/foto/'.$folder)){
$min_image_width= 150;
$min_image_height= 112;
$max_image_size = 2.5*1024*1024;
$valid_types = array('jpg', 'jpeg', 'JPG', 'JPEG');
if(is_uploaded_file($_FILES['logfileload']['tmp_name'])){
if($_FILES['logfileload']['error'] == 0){
$name_tmp = $_FILES['logfileload']['tmp_name'];
$ext = pathinfo($_FILES['logfileload']['name'], PATHINFO_EXTENSION);
if(filesize($name_tmp) > $max_image_size){
$errform = 'Ошибка! Размер вашего файла больше 2,5Мб.';
FormHotelEdit($idhotel, $table, $page, $errform);
}elseif(!in_array($ext, $valid_types)){
$errform = 'Ошибка! Допустимы файлы с расширением jpg и jpeg.';
FormHotelEdit($idhotel, $table, $page, $errform);
}else{
$size = GetImageSize($name_tmp);
if($size[0] < $min_image_width || $size[1] < $min_image_height){
$errform = 'Ошибка! Размер фото меньше 150x112 пикселей.';
FormHotelEdit($idhotel, $table, $page, $errform);
}else{
$move_upload_tmp = ROOT.'/foto/'.$folder.'/0.jpg.tmp';
$move_upload_end = ROOT.'/foto/'.$folder.'/0.jpg';
if(move_uploaded_file($name_tmp, $move_upload_tmp)){
if(img_resize($move_upload_tmp, $move_upload_end, 150, 112, 70, 0x333333, 1)){
if(file_exists($move_upload_tmp))
unlink($move_upload_tmp);
header('location:user.php?hoteledit='.$idhotel.'&table='.$table.'&page='.$page);
}else{
$errform = 'Ошибка на этапе изменения размеров!';
FormHotelEdit($idhotel, $table, $page, $errform);
}
}
else{
$errform = 'Ошибка при загрузки файла в целевую папку!';
FormHotelEdit($idhotel, $table, $page, $errform);
}
}
}
}
else{
$errform = 'Ошибка при загрузки файла на сервер!';
FormHotelEdit($idhotel, $table, $page, $errform);
}
}
else{
$errform = 'Ошибка! Вы не выбрали файл либо его размер превышает 2,5 Мб.';
FormHotelEdit($idhotel, $table, $page, $errform);
}
}
else{
$errform = 'Ошибка! Отсутствует целевая папка.';
FormHotelEdit($idhotel, $table, $page, $errform);
}

}

Спустя 16 часов, 2 минуты, 56 секунд (17.10.2011 - 11:04) Эли4ка написал(а):
Xes
клева..чувак спасибо..попробую..
Быстрый ответ:

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