Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка файлов на сервер, Нужна помощь!
 
 автор: Iskatel   (06.12.2004 в 18:52)   письмо автору
 
 

PHP скрипт загружающий картинки на сервер нормально работает у меня на машине. а когда я загружаю его на сервер то он не копирует файл. Подскажите пожалуйста что делать. Никак не могу понять причину.


<?php
$res 
$pasimage 1;
if(
$_SERVER['REQUEST_METHOD']=='POST') {
if(
$_FILES['img']['tmp_name']){
$origine=$_FILES['img']['tmp_name'];
$pournom=date("U");
$ext=$_FILES['img']['type'];
switch(
$ext) {
case
'image/gif' $nom=$pournom.".gif";
break;
case
'image/pjpeg' $nom=$pournom.".jpg";
break;
case
'application/octet-stream' $pasimage="oui";
break;
default : 
$res="n";
}
if(
$res!= "n" && $pasimage!='oui') {
$destination="../img/".$nom;
copy($origine,$destination);
}
else{ if (
$res=='n') {
$peradr $_POST['id_st'];
echo 
"<table width=\"100%\" height=\"100%\"  border=\"5\" cellpadding=\"10\" cellspacing=\"10\" bordercolor=\"#FFFFFF\" bgcolor=\"#FFFFFF\">";
echo 
"<tr><td align=\"center\">";
echo 
"ЭТО НЕ КАРТИНКА";
echo 
"<a href=\"modimg.php?id_st=".$peradr."\"><b> НАЗАД </b></a>";
echo 
"</td></tr></table>";
exit; }}
}
}
else { 
$nomNULL; }
....
....
?>


Поясняю работу скрипта- загружаю с формуляра картинку

<form action="..." method="POST" enctype="multipart/form-data" name="ch_img" id="ch_img">
    ...
    ...
      <input name="img" type="file" class="form" id="img" size="15">


скрипт проверяет картинка это или нет, потом если картинка с расширением gif или jpg то дает картинке новое имя и записывает ее в каталог на сервере одновременно записывая новое имя картинки в базу данных.
Имя записывает а картинку не копирует. хотя на локальной машине все работает.

   
 
 автор: cheops   (06.12.2004 в 19:22)   письмо автору
 
   для: Iskatel   (06.12.2004 в 18:52)
 

Причин может быть несколько, следует локализовать проблему. При помощи функции is_uploaded_file() проверьте загружаются ли файлы во временную директорию? Если файлы успешно достигают временной директории - проверьте имеет ли право ваш скрипт на запись в директорию назначания файлов?

   
 
 автор: Iskatel   (06.12.2004 в 19:54)   письмо автору
 
   для: cheops   (06.12.2004 в 19:22)
 

я добавил вот так

...
if(is_uploaded_file( $_FILES['img']['tmp_name'])){
$repons = 1; } 
...

но эта функция что-то не заработала.


Но решение было найдено!
Благодаря вашему совету в ФТП менеджере проверил права на директорию - они были 705, когда поставил 777 все заработало.
Вот, а мучился целый день. :)
Спасибо.

   
 
 автор: cheops   (06.12.2004 в 20:50)   письмо автору
 
   для: Iskatel   (06.12.2004 в 19:54)
 

Нет имя следует подставлять оригинальное
if(is_uploaded_file( $_FILES['img']['name'])){ 
$repons = 1; } 


Права доступа посмотреть, а так же проконтролировать позволяет практически любой FTP-менеджер
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=839

Подробнее о правах доступа можно почитать по ссылке
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=158

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования