ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

07.07.2008, 18:13
|
|
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме: 2230263
Репутация:
229
|
|
Сообщение от Naydav
m0nsieur
Цитата:
Тогда в чем проблема? И разве форма настолько усложняет задачу?
Навигация через отправку формы? ну-ну...
я бы сказал как это называеться
Я его не так понял, поэтому и насоветовал другого. Никаких навигаций конечно же через формы делать не надо.
|
|
|

07.07.2008, 18:15
|
|
Banned
Регистрация: 14.04.2007
Сообщений: 297
Провел на форуме: 756152
Репутация:
38
|
|
Извини но мне непонятно можешь объяснить?
Может mod_rewrite нужен?
Как хранить директории? в базе что-ли?
|
|
|

07.07.2008, 18:19
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
повторяю
Ты читать умеешь????
Подыми глаза на один пост!!!
что именно тебе не понятно, ты не знаешь, что такое
.htaccess?
index.php?
или массив $_GET ?
1) Создаем index.php с содержимым
<?php
echo $_GET['action'];
?>
2) Создаем файл, или дописываем к имеющимуся
RewriteEngine on
Options +FollowSymlinks
RewriteRule ^(.*)$ index.php?action=$1 [L]
Можно и RewriteRule ^([a-z]+)/$, все от ситуации зависит
3) Пишем в адресной строке
http://mysite.com/anal/
Смотрим результат
Последний раз редактировалось Naydav; 07.07.2008 в 18:27..
|
|
|

07.07.2008, 18:39
|
|
Banned
Регистрация: 14.04.2007
Сообщений: 297
Провел на форуме: 756152
Репутация:
38
|
|
С этим тебе спасибо Naydav.
Мне непонятно как вообще сделать разделы для сайта!
У меня сейчас есть страница index.php (главная), login.php, register.php, logout.php.
И с чего начать их делать непонятно?
|
|
|

07.07.2008, 18:44
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
И с чего начать их делать непонятно?
Смотря, что ты хочешь сделать
Можно
Примитивно - принимать в индексе переменную action, и на основе ее вызывать функцию(подключать модуль)
Нормально - создать класс контроллер
пс
почитай о MVC, уверен найдешь много полезного, сам поймешь, что и к чему
|
|
|

07.07.2008, 18:59
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
есть скрипт для загрузки файлов на сервер,
PHP код:
<? error_reporting(15); /* Отображение ошибок РНР, 0 - не
отображать */
$folder = '/'; /* Папка для загрузки файлов */
$max_size = '50000'; /* Максимальный размер файла в байтах
*/
if($doupload) {
$loads = $http_post_files;
upload($loads, $folder, $max_size);
}
?>
<form enctype="multipart/form-data" action="upload.php"
method="post">
<input name="data" type="file" size="25">
<input name="doupload" type="submit" value="Загрузить">
</form>
<? function upload($loads, $folder, $max_size) {
$fname = $loads['data']['name'];
$ftype = $loads['data']['type'];
$fsize = $loads['data']['size'];
$ftmp_name = $loads['data']['tmp_name'];
if($fsize <= $max_size && $fsize > '1') {
unlink($folder.$fname);
copy($ftmp_name, $folder.$fname);
echo "Имя файла: <a href=$folder$fname
target=_blank><b>$fname</b></a> <br>";
echo "Тип файла: <b>$ftype</b> <br>";
echo "Размер: <b>";
printf("%.2f", $fsize/1000);
echo "</b> Кб";
} else {
if($fsize > $max_size) {
echo "Слишком большой размер файла (больше <b>$max_size</b>
Байт)";
}
if($fsize <= '1') {
echo "Слишком маленький размер файла (меньше <b>1</b>
Байта)";
}
}
}
?>
но при попытке загрузить файл постоянно вылазиет ошибка
Слишком маленький размер файла (меньше 1 Байта)
пожайлусто исправте ошибку
|
|
|

07.07.2008, 19:12
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
пожайлусто исправте ошибку
1) Скрипт работает только при register_globals = on
2) Вот тебе класс аплоада
Применение
Код нужно немного переделать для аплоада только 1 файла
PHP код:
foreach($_FILES as $key=>$data)
{
$new = explode('.',$data['name']);
$fupload=& FileUploader::getInstance();
$fupload->_FILESKeyName=$key;
$fupload->newName= $NewFileName
$fupload->DestinationPath= $DestinationPath;
$fupload->AddAllowedMIME('image/jpeg','image/pjpeg','image/gif','image/png');
$file = $fupload->StartUpload();
unset($_FILES[$key]['name']);
}
Сам класс:
PHP код:
class FileUploader {
var $_FILESKeyName;
var $newName= false;
var $DestinationPath= './';
var $AllowedMIME= array();
var $isUploaded= false;
var $ErrorMessage= '';
var $UploadErrors = Array(
0=>'There is no error, the file uploaded with success.',
1=>'The uploaded file exceeds the upload_max_filesize directive in php.ini.',
2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.',
3=>'The uploaded file was only partially uploaded.',
4=>'No file was uploaded.',
6=>'Missing a temporary folder.',
7=>'Failed to write file to disk.',
8=>'File upload stopped by extension.'
);
function FileUploader() {
}
function StartUpload() {
$_file= $_FILES[$this->_FILESKeyName];
if ($_file['error']!=0) {
$this->ErrorMessage= $this->UploadErrors[$_file['error']];
return;
}
else {
if ( count($this->AllowedMIME)>0 && !in_array($_file['type'], $this->AllowedMIME)) {
$this->ErrorMessage= 'Wrong MIME type of uploaded file.';
return;
}
// start uploading file
$this->getNewName($_file['name']);
move_uploaded_file($_file['tmp_name'], $this->DestinationPath.$this->newName);
return $this->newName;
}
}
function getNewName($oldname) {
$oldname= explode('.', $oldname);
$extention= strtolower($oldname[count($oldname)-1]);
array_splice($oldname, count($oldname)-1, 1);
$oldname= implode('.', $oldname);
$this->newName= strtolower($this->newName!==false ? $this->newName : $oldname);
$new_name= preg_replace("/[^a-z0-9]+/i", '_', $this->newName);
$this->newName= $new_name . '.' . $extention;
$i= 1;
while(file_exists($this->DestinationPath.$this->newName)) {
$this->newName= $new_name . '_' . $i . '.' . $extention;
$i++;
}
}
function AddAllowedMIME() {
$amount= func_num_args();
if ($amount>0) {
$arguments= func_get_args();
for($i=0; $i<$amount; $i++)
array_push($this->AllowedMIME, $arguments[$i]);
}
}
function ClearAllowedMIME() {
array_splice($this->AllowedMIME, 0);
}
function &getInstance() {
static $instance;
if (!$instance) $instance= new FileUploader();
return $instance;
}
}
Класс под php4, т.е не использует преимуществ php5
Пользуйся классами - экономь время
Последний раз редактировалось Naydav; 07.07.2008 в 19:17..
|
|
|

07.07.2008, 19:19
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
GreenBear, работает, но немного не так, заменяет "right" на
PHP код:
preg_replace('/[^="\']("|\'|=|)(right)("|\'|=|)[^"\.\']/i', '\\1<strong>\\2</strong>\\3', $text);
|
|
|

07.07.2008, 19:32
|
|
Постоянный
Регистрация: 08.01.2006
Сообщений: 865
Провел на форуме: 3279330
Репутация:
343
|
|
Сообщение от MafiaBoy3
С этим тебе спасибо Naydav.
Мне непонятно как вообще сделать разделы для сайта!
У меня сейчас есть страница index.php (главная), login.php, register.php, logout.php.
И с чего начать их делать непонятно?
Почитай про Zend Framework
|
|
|

07.07.2008, 21:39
|
|
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме: 1734541
Репутация:
214
|
|
Есть у когонить пример такого скрипта (хотябы подобие):
Скрипт выводит список файлов в директории и рядом с ними ссылка или что то в этом роде при нажатии на которую файл уходит по почте.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|