X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Пытаюсь создать папку на сервере
Licoric
Licoric
Topic Starter сообщение 26.6.2009, 17:17; Ответить: Licoric
Сообщение #1


Есть некая запись в базе - хочу сделать так, что б к ней можно было добавить ссылку на картинку.

По идее (брал из примера):
(это строки 7, 8, 9,10 )
[php]$idpg = $_POST['id'];
$f = fopen("../pg/img/group/$idpg");
fwrite($f);
fclose($f); // закрывает созданную директорию[/php]создается директория по указанному пути с окончанием в виде ID взятом ранее из базы (он берется). Но выскакивает ошибка:
Warning: fopen() expects at least 2 parameters, 1 given in ***/upload_logo.php on line 8

Warning: Wrong parameter count for fwrite() in ***/upload_logo.php on line 9

Warning: fclose(): supplied argument is not a valid stream resource in ***/upload_logo.php on line 10
Что не так?

ps права на папке group - 777
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 26.6.2009, 18:09; Ответить: Zippovich
Сообщение #2


Ребята, не надо из нас делать переводчиков, не знаете англицкий, переводите онлайн, их куча.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 26.6.2009, 19:54; Ответить: Galen
Сообщение #3


fopen без модификатора открываете, добавьте второй параметр "w" или "r" там.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 26.6.2009, 21:30; Ответить: Licoric
Сообщение #4


Добавил все, что нашел.
"a+" даже (создание файла при его не существовании).
Ошибка Warning: Wrong parameter count for fwrite() in /usr/local....
Пишет же, что не тот параметр.А какой тогда?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 26.6.2009, 21:52; Ответить: Galen
Сообщение #5


:)
А fwrite`ом вы что пишите-то? Вторым параметром нужно указать записываемую строку.

создается директория по указанному пути с окончанием в виде ID взятом ранее из базы

Может ошибаюсь, но чёрта с два вы так создадите каталог на сервере.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 26.6.2009, 22:02; Ответить: Licoric
Сообщение #6


преамбула такова, что хотел сделать загрузку файлов с переименовыванием файлов по нужной мне маске. Никто в теме не ответил. А до этого помогал соседке с сайтом. Там сделал так, что все загружается и в базу добавляется ссылка на картинку. Вот и решил так же у себя сделать. А тут в оригинале я хотел сделать вывод картинок по маске пути.
Типа:
img/id_group
в этой папке logo.jpg - логотип команды
$id.jpg - фото пилота в этой команде.
При выводе в путь только подставляем id группы и id пилотов.

ps а с fopen и fwrite вообще не сталкивался. Только на примере готовых решений, которые мне подходили (в большинстве случаев). Так что с параметрами, как таковыми, тоже не знаком.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 26.6.2009, 22:22; Ответить: Licoric
Сообщение #7


Таксь... Galen. Спасибо - ты категорически прав. Не создам. Сделал код (рабочий, как не странно) - [PHP]$idpg = $_POST['id'];
$f = fopen("../pg/img/group/$idpg", 'a+');
fwrite ($f, "");
fclose ($f); // закрывает созданную директорию[/PHP]
Этот выдает ошибку и создает пустой файл с названием из переменной ПОСТ.

Если $idpg взять в одинарные кавычки, то ошибки нет. Создается все тот же пустой файл, но в кавычках. Надо гуглить про создание директорий. Просто WebMaster говорил, что так можно создавать директории. Но я не хотел бы плодить лишние текстовые, например, файлы.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 26.6.2009, 22:29; Ответить: Licoric
Сообщение #8


[PHP]mkdir( $dir_name , 0777 );[/PHP]
Вот решение. Сейчас буду пробовать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 27.6.2009, 16:22; Ответить: Licoric
Сообщение #9


что-то не догоняю:
[php]<?php
echo "Добавить лого для пилотажной группы";
// Выводим список групп:
?>
<form method='post' action="upload_logo.php">
<table align='center' width='100%' border='1'>
<tr>
<td width='100%'>
<select size="1" name="id">
<?php
include ("../mysql.php");
$query1 = "SELECT * FROM `vfat_pg` ORDER BY `vfat_pg`.`name_pg` ASC";
$res1 = mysql_query($query1) or die(mysql_error());
while ($row1 = mysql_fetch_array($res1))
{
$name_pg = "".$row1['name_pg']."";
$idpg = "".$row1['idpg']."";
echo "<option value='$idpg'>$name_pg</option>
";
}
?>
</select>
</td>
</tr>
</table>
<br>
<center><input type="submit" value="Добавить лого"></center>
</form>
<?php
?>[/php]И обработчик:
[php]<?php
echo "Форма загрузки логотипа группы";
echo "<br>";
$idpg = $_POST['id'];
mkdir (".../pg/img/group/$idpg", 0777);
echo "вывод до нажатия кнопки аплоада $idpg";
// Выводим форму добавления файла:
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<form enctype="multipart/form-data" method="post">
Выберите файл для отправки:<br>
<input name="idpg" type="hidden" value=<?php echo "$idpg"; ?>>
<input name="userfile" type="file">
<br>
<input type="submit" name="send" value="Добавить логотип группы">&nbsp;<input type="reset" value="Reset">
</form>
<?php
// мускул на добавление данных
if ( isset($_POST['send']) )
{
$idpg = $_POST['idpg'];
echo "вывод после нажатия кнопки аплоада $idpg";
include ("../config.php");
# mkdir (".../pg/img/group/$idpg/", 0777);
$uploaddir = "../pg/img/group/$idpg/"; // Папка куда закачивать файлы
$extentions = array(".gif",".txt",".jpg",".JPG"); // Массив разрешенных форматов файлов
$userfilesize = $_FILES['userfile']['size']; // Вычисление размера загружаемого файла
$maxfilesize = 3*1024*1024; // Максимально допустимый размер файла

$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if((in_array(strrchr($_FILES['userfile']['name'], "."),$extentions)) && ($maxfilesize >= $userfilesize)) //
{
// Если копирование произведено удачно, выводим сообщения
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) //
{
$fname = ($_FILES['userfile']['name']); // Вычисление имени файла и присвоение переменной
//echo "Ссылка на ваш файл: <a href='../fo/$fname'>$fname</a><br>";

$file_link = "../pg/img/group/$idpg/$fname";

echo "<img src='../pg/img/group/$idpg/$fname' border='0'><br>";
//Установка соединения с БД:
$link = mysql_connect ($host, $user, $pass)
or die ("Невозможно установить соединение: " . mysql_error());
//Выбираем нужную нам базу данных
mysql_select_db($bd, $link);
$query = "update `vfat_pg` set logo_pg='$file_link' where idpg='$idpg'";
$result = mysql_query ($query, $link);
#Недопустимый запрос:
if (!$result)
die ("<br>Недопустимый запрос: " . mysql_error(). "<br>".$query);
echo "Логотип группы добавлен!";
}
else
{
echo ("<script language=\"javascript\">alert(\"Ошибка при передаче файла на сервер!\");</script>");
echo ("<script language=\"javascript\">history.back();</script>");
}
}
// Если превышен максимальный размер файла
elseif ($maxfilesize < $userfilesize)
{
echo ("<script language=\"javascript\">alert(\"Превышен максимальный размер файла!\");</script>");
echo ("<script language=\"javascript\">history.back();</script>");
}
else
{
// Если расширение файла имеет недопустимое расширение
echo ("<script language=\"javascript\">alert('Файл имеет недопустимое расширение!');</script>");
echo ("<script language=\"javascript\">history.back();</script>");
exit();
}
}
?>[/php]Но ничего не получается.

:wall:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 27.6.2009, 23:03; Ответить: Licoric
Сообщение #10


Как все просто получилось)))
mkdir ("../pg/img/group/$idpg/", 0777); запихивается в:
[PHP]// мускул на добавление данных
if ( isset($_POST['send']) )
{
$idpg = $_POST['idpg'];
include ("../config.php");
mkdir ("../pg/img/group/$idpg/", 0777);[/PHP]
Ну и убирается одна точка (..) из трех (!). Как не заметил - не знаю. Сейчас работает так, как надо и ошибок нет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
20 uahomka 3555 20.4.2024, 20:56
автор: Vmir
Открытая тема (нет новых ответов) Как создать бота Телеграм с приемом оплат?
0 rownong27 452 4.3.2024, 0:51
автор: rownong27
Открытая тема (нет новых ответов) Хочу создать сайт кино.
12 jreset26 1898 30.1.2024, 0:12
автор: Liudmila
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСкрипт на сайте отсылает письмо, а почтовик сайта на сервере пересылать не хочет
3 master-vek 1788 17.7.2020, 16:47
автор: DF™
Открытая тема (нет новых ответов) Нужно создать букс (на местной валюте)
0 imvaisov 1465 10.7.2020, 15:08
автор: imvaisov


 



RSS Текстовая версия Сейчас: 24.4.2024, 18:07
Дизайн