Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 22.01.2011, 20:25   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию Ошибка при загрузке файла через броузер

Приветствую всех форумчан. Я сделал скрипт. Он загружает три файла на сервер. Когда я тестировал его на denwer все работало. Когда я кинул на 000webhost . com стала появлятся ошибка
Warning: copy(/images/phpiOr5GI.gif) [function.copy]: failed to open stream: No such file or directory in /home/a5413986/public_html/fotoaddphp.php on line 14
Вот исходник:
PHP код:
<?php
include("add/usernamepassmysql.php");

$dir="/images/";
$nameanaglif=$dir basename($_FILES['anaglif']['tmp_name']);
$namestereo=$dir basename($_FILES['stereo']['tmp_name']);
$namelittle=$dir basename($_FILES['little']['tmp_name']);
$anaglif=basename($_FILES['anaglif']['tmp_name']);
$stereo=basename($_FILES['stereo']['tmp_name']);
$little=basename($_FILES['little']['tmp_name']);
Echo 
$_FILES['anaglif']['name'], '<br>';
Echo 
$_FILES['stereo']['name'];
Echo 
"{$_FILES['anaglif']['tmp_name']}";
if ((
copy($_FILES['anaglif']['tmp_name'], "$nameanaglif.gif")) and (copy($_FILES['stereo']['tmp_name'], "$namestereo.gif")) and (copy($_FILES['little']['tmp_name'], "$namelittle.gif"))) 
{
mysql_connect($host$user$pass);
mysql_select_db($db_name);
$qu mysql_query("Select * FROM $tablename");
while (
$row mysql_fetch_array($qu))
{
 
$i++;
}

$i++;

mysql_query("INSERT INTO $tablename VALUES('$i','images/$little.gif','images/$anaglif.gif','images/$stereo.gif','{$_POST['text']}')");

}
else
{
echo 
"Загрузка не удалась!";
}

?>
Как думаете почему? Настойки сервера?
Буду очень благодарен.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось SkyM@n; 22.01.2011 в 22:10.
_PROGRAMM_ вне форума   Ответить с цитированием
Старый 22.01.2011, 21:58   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Когда-то сталкивался с проблемами слешей на серверах. Попробуй изменить переменную dir, убрав слэш с начала. Если не поможет проверь существует ли данная папка
there are no limits when you're software engineer
spein вне форума   Ответить с цитированием
Старый 23.01.2011, 13:36   #3
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Цитата:
Если не поможет проверь существует ли данная папка
Существует. (Хостинг бесплатный). Попробую слешь убрать.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума   Ответить с цитированием
Старый 23.01.2011, 14:33   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,598
По умолчанию

Возможно нет необходимых прав доступа к файлам, проверьте.
Еще по коду, вот этот фрагмент лучше по другому реализовать
Код:
$qu = mysql_query("Select * FROM $tablename");
while ($row = mysql_fetch_array($qu))
{
 $i++;
}
$i++;
Все решается указав тип первого поля в таблице автоинкремент, тогда оно будет автоматом увеличиваться на 1 при каждой вставке новой записи.

ну а если понадобиться узнать кол-во записей в таблице, то можно так:
Код:
$qu = mysql_query("Select count(*) as cnt FROM $tablename");
$row = mysql_fetch_array($qu);
$result = $row['cnt'];
Gorychev вне форума   Ответить с цитированием
Старый 23.01.2011, 20:25   #5
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Проблема не в добавлении в базу, а при копировании файлов. Есть еще предложения? Со слешами все пробывал, даже $dir очищал.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума   Ответить с цитированием
Старый 24.01.2011, 08:11   #6
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Цитата:
Возможно нет необходимых прав доступа к файлам, проверьте.
Каким образом можно узнать? Я копирую в корневая_дериктория/images.

Я заменил copy на move_uploaded_file и получил:
Unable to move '/tmp/php6sxYUz' to 'php6sxYUz.gif' in /home/a5413986/public_html/fotoaddphp.php on line 17

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 24.01.2011 в 08:23.
_PROGRAMM_ вне форума   Ответить с цитированием
Старый 24.01.2011, 09:52   #7
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,755
По умолчанию

Цитата:
Я копирую в корневая_дериктория/images.

Я заменил copy на move_uploaded_file и получил:
Unable to move '/tmp/php6sxYUz' to 'php6sxYUz.gif' in /home/a5413986/public_html/fotoaddphp.php on line 17
Вы используете относительную адресацию значит 99% пытаетесь писать в несуществующую папку или в папку, которая закрыта для записи. Проверьте пути, скрипт устанавливает рабочей ту папку в которой исполняется.
Стрелок-охотник
mv28jam вне форума   Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ОШИБКА ПРИ ЗАГРУЗКЕ Костян Пират Операционные системы общие вопросы 5 21.02.2009 13:14
Ошибка при загрузке системы Rembo Железо 11 09.08.2008 21:54
Ошибка компонента TADOQuery при загрузке запроса из файла в Delphi 2006 WhiteKoS Помощь студентам 2 16.02.2008 16:07
Ошибка при загрузке.... Ronni10 Операционные системы общие вопросы 6 10.01.2008 23:20
Ошибка при загрузке файла html Ign Microsoft Office Excel 1 11.11.2007 14:55