Помощник
|
Пытаюсь создать папку на сервере |
Licoric
|
Сообщение
#1
|
||
|
|
||
|
|||
Zippovich |
26.6.2009, 18:09;
Ответить: Zippovich
Сообщение
#2
|
|
Ребята, не надо из нас делать переводчиков, не знаете англицкий, переводите онлайн, их куча.
|
|
|
Galen |
26.6.2009, 19:54;
Ответить: Galen
Сообщение
#3
|
|
fopen без модификатора открываете, добавьте второй параметр "w" или "r" там.
|
|
|
Licoric
|
Сообщение
#4
|
|
Добавил все, что нашел.
"a+" даже (создание файла при его не существовании). Ошибка Warning: Wrong parameter count for fwrite() in /usr/local.... Пишет же, что не тот параметр.А какой тогда? |
|
|
Galen |
26.6.2009, 21:52;
Ответить: Galen
Сообщение
#5
|
|
:)
А fwrite`ом вы что пишите-то? Вторым параметром нужно указать записываемую строку. создается директория по указанному пути с окончанием в виде ID взятом ранее из базы Может ошибаюсь, но чёрта с два вы так создадите каталог на сервере. |
|
|
Licoric
|
Сообщение
#6
|
|
преамбула такова, что хотел сделать загрузку файлов с переименовыванием файлов по нужной мне маске. Никто в теме не ответил. А до этого помогал соседке с сайтом. Там сделал так, что все загружается и в базу добавляется ссылка на картинку. Вот и решил так же у себя сделать. А тут в оригинале я хотел сделать вывод картинок по маске пути.
Типа: img/id_group в этой папке logo.jpg - логотип команды $id.jpg - фото пилота в этой команде. При выводе в путь только подставляем id группы и id пилотов. ps а с fopen и fwrite вообще не сталкивался. Только на примере готовых решений, которые мне подходили (в большинстве случаев). Так что с параметрами, как таковыми, тоже не знаком. |
|
|
Licoric
|
Сообщение
#7
|
|
Таксь... Galen. Спасибо - ты категорически прав. Не создам. Сделал код (рабочий, как не странно) - [PHP]$idpg = $_POST['id'];
$f = fopen("../pg/img/group/$idpg", 'a+'); fwrite ($f, ""); fclose ($f); // закрывает созданную директорию[/PHP] Этот выдает ошибку и создает пустой файл с названием из переменной ПОСТ. Если $idpg взять в одинарные кавычки, то ошибки нет. Создается все тот же пустой файл, но в кавычках. Надо гуглить про создание директорий. Просто WebMaster говорил, что так можно создавать директории. Но я не хотел бы плодить лишние текстовые, например, файлы. |
|
|
Licoric
|
Сообщение
#8
|
|
[PHP]mkdir( $dir_name , 0777 );[/PHP]
Вот решение. Сейчас буду пробовать. |
|
|
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="Добавить логотип группы"> <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
|
Сообщение
#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] Ну и убирается одна точка (..) из трех (!). Как не заметил - не знаю. Сейчас работает так, как надо и ошибок нет. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Создать видеоканал лучше в ютуб или телеграм? | 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 |
Текстовая версия | Сейчас: 24.4.2024, 18:07 |