С этим тебе спасибо Naydav. Мне непонятно как вообще сделать разделы для сайта! У меня сейчас есть страница index.php (главная), login.php, register.php, logout.php. И с чего начать их делать непонятно?
Смотря, что ты хочешь сделать Можно Примитивно - принимать в индексе переменную action, и на основе ее вызывать функцию(подключать модуль) Нормально - создать класс контроллер пс почитай о MVC, уверен найдешь много полезного, сам поймешь, что и к чему
есть скрипт для загрузки файлов на сервер, 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) Скрипт работает только при 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 Пользуйся классами - экономь время
PHP: preg_replace('/[^="\']("|\'|=|)(right)("|\'|=|)[^"\.\']/i', '\\1<strong>\\2</strong>\\3', $text);
Есть у когонить пример такого скрипта (хотябы подобие): Скрипт выводит список файлов в директории и рядом с ними ссылка или что то в этом роде при нажатии на которую файл уходит по почте.
ну вот если по простому: PHP: <?php $directory= "нужная директория"; $dir = opendir($directory); if(!isset($_GET['file'])) { while($d=readdir($dir)) { if(is_file($d)) echo $d.' <a href="red.php?file='.$d.'">Отправить</a><br>'; } } else { mail("куда отправляем","тема",file_get_contents($directory."/".$_GET['file'])); } ?>
Кхм...на сколько я помню просто функцией mail() аттач послать нельзя)) Точнее чтоб послать надо килограмм заголовков посылать вместе с содержимым. Вот отличный класс для работы с мылом: _http://dosug.dosugnn.ru/class.phpmailer.php.txt
если на сайте(например майл.ру) есть добовление коментариев на аяксе ... как мне как на пхп имитировать такой запрос? я проверил куда отсылаются данные и какие данные ... на пхп отослал нужные пост значения на нужный скрипт но мессага не добавилась... как быть?
Скорее всего плохо проверил какие данные надо слать. Я когда для вконтакта писал посты в "Вопросы" тож геморно было...часа 2 упирался, не хотел нифига. Но справедливость восторжествовала)))
Стоит ли узучать Zend? (Мне тут насоветовали: MVC, классы) читал это http://habrahabr.ru/blog/php/21327.html нифига и не понял. Да и чтобы сделать логин и логаут пользователя, нужно столько классов подключить да отредактировать. Дело в том, что я делаю интересный проект, свой первый сайт (мне 17 лет). И думаю о огромной посещаемости. Скажите разве yotube.com, digg.com, redtube.com работают на этом Zende , да и работают ли на классах вообще?
MafiaBoy3, пока РНР нормально выучи. И первый твой сайт никогда не будет иметь бешеную популярность - закон жизни.
php слишком медленный чтобы на нем работали такие сайты как youtube. для них нужны более быстрые языки. так что если хочешь делать сайты такого уровня учи нормальные языки.
Вопрос был о работе с классами! И первый твой сайт никогда не будет иметь бешеную популярность - закон жизни. Ты чё будущее видишь? У других тоже не было , да? whateverlife.com, myyearbook.com и ещё куча других
Я бы посоветовал посмотреть в сторону более простых(по началу Zend тяжел в освоении) и в то же время легко расширяемых фреймворков как например Code Igniter. Он тоже основан на модели MVC и без знания классов тут никуда. Имхо очень удобно.
Всем привет. У меня такой вот вопросик.. Для того, чтобы добавить новый crontab - я создаю новый файл формата кронтаба, и теперь нужно запустить "CRONTAB /path.../myfile". Так вот - КАК запустить/выполнить любую команду в PHP для линукса (g ubuntu 8.04)?? Пробовал system() иexec(), но они почему-то не работают..