Привет всем! Вот возникла такая проблемма: Код (Text): Warning: copy() [function.copy]: Filename cannot be empty in D:\xampp\htdocs\order.php on line 10 вот сам код: Код (Text): <?php $size_file=40960000; if($_POST['addordersubmit']=="заказать" and !empty($_POST['namef']) and !empty($_POST['namei']) and !empty($_POST['nameo']) and !empty($_POST['mail']) and !empty($_POST['login']) and !empty($_POST['password'])){ if($_FILES["foto"]["size"]<=$size_file){ $time=time(); $newimg=md5($time).".jpg"; if(copy($_FILES['foto']['tmp_name'],"zimg/$newimg")){ $_SESSION['addnewfoto1']=$newimg; if(!file_exists("zimg/$newimg")){ $size = getimagesize("zimg/$newimg"); if($size[0]>$size[1]){$ts=$trumb_size_y;}else{$ts=$trumb_size_x;} $b=imagecreatefromjpeg("zimg/$newimg"); $t=imagecreatetruecolor(($ts)*($size[0]/$size[1]),$ts); imagecopyresized($t,$b,0,0,0,0,($ts)*($size[0]/$size[1]),$ts,$size[0],$size[1]); if(eregi(".jpg$|.jpeg$",$newimg)) {imagejpeg($t,"zimg/t/".$newimg,$jpg_quality);} } } mysql_query("insert into `users` (`site_login`,`site_pass`,`mail`,`name_f`,`name_i`,`name_o`) values ('".$_POST['login']."','".md5($_POST['password'])."','".$_POST['mail']."','".$_POST['namef']."','".$_POST['namei']."','".$_POST['nameo']."')"); mysql_query("insert into `zakaz` (user,foto) values ('".mysql_insert_id()."','".$_SESSION['addnewfoto']."')"); } else{echo"Размер фото должне быть не больше ".normsize($size_file);} } else{ echo"<form method=post enctype='multipart/form-data'> <input type=hidden name='MAX_FILE_SIZE' value='$size_file'> <table width=300> <tr><td colspan=2>Подача заказа!</td></tr> <tr> <td width=100>Фамилия</td> <td width=200><input type=text name='namef'></td> </tr> <tr> <td>Имя</td> <td><input type=text name='namei'></td> </tr> <tr> <td>Отчество</td> <td><input type=text name='nameo'></td> </tr> <tr> <td>E-mail</td> <td><input type=text name='mail'></td> </tr> <tr> <td>Логин</td> <td><input type=text name='login'></td> </tr> <tr> <td>Пароль</td> <td><input type=password name='password'></td> </tr> <tr><td colspan=2> </td></tr> <tr> <td>Фото</td> <td><input type=file name='foto'></td> </tr> <tr><td colspan=2><input type=submit name=addordersubmit value='заказать'></td></tr> </table> </form>"; } ?> register_globals "off"
да я понимаю что мне говорит что "Имя файла НЕ должно быть пустым", материться оно ведь на $_FILES['foto']['tmp_name']
еще раз привет! Я использую modrewrite, вот тчо в хтацессе: Код (Text): RewriteEngine on Options +FollowSymlinks RewriteRule ^.htaccess$ - [F] RewriteRule ^([^\.]+)$ main.php выходит что не может скопировать файл в папку которую я указываю: Код (Text): if(copy($_FILES['foto']['tmp_name'],"zimg/$newimg")){ пробывал прописывать Код (Text): if(copy($_FILES['foto']['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/zimg/$newimg")){ Чего неправильно записано в модреврайт? Как это можно исправить? Спасибо! ЗЫ: если сам скрипт запустить отдельно то всё прекрасно добавляет!
Если не "науными" терминами: модреврайт - передает значение виртуального каталога на реальный файл копи - копирует загруженый временной файл в указаный каталог с указаным именем
Rim ой, да ну брось. модреврайт нужен только для одного - чтобы убогие с точки зрения машины урлы переделывать в удобоваримое нечто. Никакого отношения к реальности он не имеет.
ну в общем то я понимаю... просто линк такого вида смотриться как папка... вот и написал что как "виртуальный каталог" Но суть не в том... Скрипт ведь работает без модреврайта, а почему с ним не хочет?
Да и я имел ввиду что к примеру имя вирт. каталога http://localhost/test передаеться на файл main.php?page=test, где он обрабатываеться как get запрос на страницу. НУ а какое решение проблеммы может быть, почему не работает copy?
даная страница у меня так: http://127.0.0.6/order так разбиваю на страницы: Код (Text): $p=explode('/',$_SERVER['REQUEST_URI']); в main.php: Код (Text): if($p[1]=="order"){include"./porder.php";} ну а то что выложил сверху в прописано в porder.php при загрузке самой страницы http://127.0.0.6/porder.php добавляет файл в указаный мною каталог...
Я так понимаю что copy материться на то что не существует каталог http://127.0.0.6/order/zimg, ну и что не может вписать в него файл... Но пробывал прописывать через полный путь, и через ../ , ничего не помогло! Чесслово не знаю чего делать дальше..
Хорошо... почему $_FILES получаеться пустой если используеться реврайт? Как я писал выше при запуске самого файла данные передаються, а при инкуде его нет! Чего я такого сделал или не сделал что оно не работает?
а так? <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ main.php [L,QSA] </IfModule>
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico избыточно является файлом, что соответствует %{REQUEST_FILENAME} !-f
тоже ничего... я уже перечитал фиг знает сколько мануалов, форумов и разных сайтов... и похожей причины не нашёл вобще... =(((