Баги в форме добавления

nemo

Новичок
Баги в форме добавления

Выходит ошибка в форме добавления, на денвере работало все нормально как залил на хост пошли баги
зайдите пожалуйсто

http://youex.ru/modules/authorization/

авторизируйтесь логин и пароль tester01
и зайдите сюда

http://youex.ru/?mod=lessons&lessons=add_lesson

к примеру попробуйте просто нажать загрузить обложку там выйдит такая ошибка

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /home/youex/public_html/modules/lessons/load_wrapper.php on line 4
 

Single

пилот капсулы
http://phpfaq.ru/debug

Ошибка в данных передаваемых в функцию getimagesize().
о чем собственно и говорит ошибка "Filename cannot be empty".
 

nemo

Новичок
Всмысле?

вот исходник load_wrapper.php

<?php
$login=!empty($_POST['upload_login'])?$_POST['upload_login']:null;
$date_load=date('YmdHis');
$info_load=getimagesize($_FILES['upload_wrapper']['tmp_name']);
if(isset($_FILES['upload_wrapper'])&&$_FILES['upload_wrapper']['error']===0){
if($_FILES["upload_wrapper"]["type"]=="image/jpeg"or$_FILES["upload_wrapper"]["type"]=="image/jpg"or$_FILES["upload_wrapper"]["type"]=="image/gif"or$_FILES["upload_wrapper"]["type"]=="image/png"){
if($_FILES['upload_wrapper']['size']<"100000"){
if($info_load[0]<151&&$info_load[1]<151&&$info_load[0]>149&&$info_load[1]>149){
if(!file_exists('./loads/'.$login.'')){mkdir("./loads/$login",0700);}
if(!file_exists('./loads/'.$login.'/wrapper')){mkdir("./loads/$login/wrapper",0700);}
mkdir("./loads/$login/wrapper/$date_load",0700);
if(move_uploaded_file($_FILES['upload_wrapper']['tmp_name'],'./loads/'.$login.'/wrapper/'.$date_load.'/'.$_FILES['upload_wrapper']['name']));
}}}}
?>
<body onload="parent.document.getElementById('upload_wrapper_ok').innerHTML=document.body.innerHTML"><?php if(is_dir('./loads/'.$login.'/wrapper/'.$date_load.'')){echo('Готово. Обложка загружена<style type="text/css">.upload_wrapper_form{display:none} .error_lesson, .error_wrapper{display:none!important}</style>');}else{echo'<style type="text/css">.error_lesson, .error_wrapper{display:block}</style>';}?></body>
<iframe id="iframe_load_wrapper" class="none" onload="parent.document.getElementById('upload_wrapper_final').innerHTML=document.getElementById('iframe_load_wrapper').innerHTML"><?php $login=!empty($_POST['upload_login'])?$_POST['upload_login']:null; if(file_exists('./loads/'.$login.'/wrapper/'.$date_load.'')){echo('http://youex.ru/modules/lessons/loads/'.$login.'/wrapper/'.$date_load.'/'.$_FILES['upload_wrapper']['name'].''.'');}?></iframe>

-~{}~ 18.07.10 14:31:

Single
как исправить эту ошибку? темболее что почему на денвере работало
 

Single

пилот капсулы
nemo
как исправить эту ошибку?
код твой, логично что ошибку нужно найти тебе самостоятельно.

темболее что почему на денвере работало
и? я вот вообще не в курсе что такое денвер но подозреваю что это отдельный веб сервер и раз уж на нем этой ошибки не возникает значит есть какие то отличия в настройках двух серверов. (подсказка смотреть еррор левел).

$info_load=getimagesize($_FILES['upload_wrapper']['tmp_name']);
что делает эта строка?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
var_dump($_FILES);
Смотришь error
потом идешь в http://www.php.net/manual/en/features.file-upload.errors.php
И смотришь ПАЧИМУ на дервере работало а не на денвере не работает.
 

korpus

злой бобёр
Возможно на Денвере ошибка просто не отображалась. В начале скрипта надо поставить ini_set("error_reporting", E_ALL | E_STRICT) для отображения всех ошибок.
И необходимо проверить, чтобы $_FILES['upload_wrapper'] существовала, а потом уже делать функцию getimagesize()
 

Вурдалак

Продвинутый новичок
Нет, сначала необходимо переместить файл с помощью move_uploaded_file() в какую-то директорию, затем уже getimagesize().
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вурдалак
вовсе не обязательно, если файл не подходит по каким то соображениям, то не надо его никуда перемешать, а вызвать getimagesize на temp файле

-~{}~ 20.07.10 00:30:

if($info_load[0]<151&&$info_load[1]<151&&$info_load[0]>149&&$info_load[1]>149){
Эпично...

if($_FILES['upload_wrapper']['size']<"100000")
Очень интересно

if(!file_exists('./loads/'.$login.'')){mkdir("./loads/$login",0700);}
if(!file_exists('./loads/'.$login.'/wrapper')){mkdir("./loads/$login/wrapper",0700);}
мануал почитай, там третий параметр есть. я бы написал в виде:
!file_exists("xxx/yyy") && mkdir("xxx/yyy", 0700, true);
 

Adelf

Administrator
Команда форума
Вурдалак
вовсе не обязательно, если файл не подходит по каким то соображениям, то не надо его никуда перемешать, а вызвать getimagesize на temp файле
Обязательно. Как раз из-за open_basedir.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Adelf
Вурдалак
Да, но в теме пока никто о них словом не обмолвился.
 

nemo

Новичок
спасибо так приятно когда чувствуется поддержка)

-~{}~ 20.07.10 14:54:

я начел с нуля тесттировать . С простой загрузки. он выводит это.

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpn34DsW'
to 'http://youex.ru/modules/lessons/loads/wrapper.jpg' in /home/youex/public_html/modules/lessons/load_wrapper.php on line 3

что тут?

-~{}~ 20.07.10 15:07:

Я прописал права на 777 в /public_html и в /modules и в /lessons и в /loads
и в load_wrapper.php и в tmp

где нужно поставить?
 

Welcome

Новичок
Автор оригинала: nemo
спасибо так приятно когда чувствуется поддержка)

-~{}~ 20.07.10 14:54:

я начел с нуля тесттировать . С простой загрузки. он выводит это.

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpn34DsW'
to 'http://youex.ru/modules/lessons/loads/wrapper.jpg' in /home/youex/public_html/modules/lessons/load_wrapper.php on line 3

что тут?

-~{}~ 20.07.10 15:07:

Я прописал права на 777 в /public_html и в /modules и в /lessons и в /loads
и в load_wrapper.php и в tmp

где нужно поставить?
Путь абсолютный должен быть.
 
Сверху