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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблемы с загрузкой файла на сервер

Сообщения:  [1-10]   [11-20] 

 
 автор: Tim4ik   (05.07.2010 в 15:26)   письмо автору
 
   для: sim5   (05.07.2010 в 15:12)
 

ну да один человек, который будет резать... Ну вобщем не проблема, ща сделаю и проверку.

Спасибо за уделенное время!

  Ответить  
 
 автор: sim5   (05.07.2010 в 15:12)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 14:45)
 

Все проблемы на сервере - это к хостеру.
А скрипт ужасен. Будет один человек грузить у вас? И он будет таки резать до 170х80px? И проверки вам побоку?
Функция move_uploaded_file() проверяет, что перемещаемый файл загружен через HTTP POST, поэтому в данном случае применять функцию is_uploaded_file() нет смысла.

  Ответить  
 
 автор: Tim4ik   (05.07.2010 в 14:45)   письмо автору
 
   для: sim5   (05.07.2010 в 13:48)
 


<?

$action 
$_GET['action'];
$id $_GET['id'];

if(
$action == "add_partnership") {

$path $_SERVER['DOCUMENT_ROOT']."/img/partners/";
$file_name=time().".jpg";
$file_path=$path."".$file_name;

$file_error $_FILES['file1']['error'];

$print_file_error["1"] = "Размер принятого файла превысил максимально допустимый размер разрешенный сервером.";
$print_file_error["3"] = "Загружаемый файл был получен только частично.";
$print_file_error["4"] = "Файл не был загружен.";

if(!empty(
$file_error)) { $print_file_error $print_file_error[$file_error]; } else { $print_file_error "Произошла ошибка загрузки файла по непонятным причинам.."; }

if(
is_uploaded_file($_FILES['file1']['tmp_name'])) {
move_uploaded_file($_FILES['file1']['tmp_name'], $file_path);
$link $_POST[link];
mysql_query("INSERT INTO partnership VALUES ('$id','$file_name','$link')") or die("<center><b>Произошла ошибка добавления записи</b></center>");
print 
"<div style='clear:both; font-family:Tahoma; font-size:12px; padding:10px; text-align:center;'>Запись добавлена! <a href='suit-partnership.php' class='link'>Вернуться назад</a></div>";
} else {
print 
"<div style='clear:both; font-family:Tahoma; font-size:12px; padding:10px; text-align:center;'>$print_file_error. <a href='adv-add.php' class='link'>Вернуться назад</a></div>";
}

} else {

echo <<<data
<center><div style="width:32%; float:left; border:1px solid #000; margin:5px; height:60px;">
<form action="?action=add_partnership&id=3" method="post" enctype="multipart/form-data">
<input name="file1" type="file" style="width:100%;">
<div style="font-family:Tahoma; font-size:10px; padding:3px;">Размер картинки должен соответствовать размеру 170х80px</div>
<input name="link" type="text" style="width:100%" value="http://www.exemple.com">
<div style="font-family:Tahoma; font-size:10px; padding:3px;">Линк обязательно нужно писать полностью</div>
<input type="submit" value="загрузить" class="form"></center>
</form>
</div>
data;

}

?>


вот адрес где находится скрипт:
http://aventgroup.uz/admin/adv-add.php

  Ответить  
 
 автор: sim5   (05.07.2010 в 13:48)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 13:43)
 

Ужас, иначе и не скажешь. Интересно бы посмотреть на картинку размером в 1 ГБ, и хостера который такие размеры грузить по HTTP позволяет.
Выбрасывайте свой скрипт, напишите просто, форму и прием простой для проверки (вывод ошибок обязятелен!), и загружайте махонький файл, печатайте принятый массив $_FILES. Ошибки? Массив?

  Ответить  
 
 автор: Tim4ik   (05.07.2010 в 13:43)   письмо автору
 
   для: sim5   (05.07.2010 в 13:38)
 

загрузка включена, к тому же max_file_size стоит на 1000мб
максимальный размер POST стоит на 1000мб

я уже почти в панике, незнаю что делать....

вот еще раз мадифицированный скрипт:


<?

$action 
$_GET['action'];
$id $_GET['id'];

if(
$action == "add_partnership") {



echo (
"имя загружаемого файла: ".$_FILES['file1']['name']."<br>");
echo (
"mime/type файла: ".$_FILES['file1']['type']."<br>");
echo (
"размер загруженного файла: ".$_FILES['file1']['size']."<br>");
echo (
"полный путь к временному файлу: ".$_FILES['file1']['tmp_name']."<br>");
echo (
"код ошибки: ".$_FILES['file1']['error']."<br>");

$path $_SERVER['DOCUMENT_ROOT']."/img/partnership";
$attrib "rwxrwxrwx";
chmod($path$attrib);

if(
is_uploaded_file($_FILES['file1']['tmp_name'])) {
$file_name=time().".jpg";
$file_path=$path."/".$file_name;
@
move_uploaded_file($_FILES['file1']['tmp_name'], $file_path);
$size_img=GetImageSize($file_path);
$img_w $size_img[0];
$img_h $size_img[1];
$old_im = @imageCreateFromJpeg($file_path) or die("Неудалось загрузить в память, только что загруженную картинку с размерами $img_w х $img_h");
$new_im = @imagecreatetruecolor($img_w$img_h) or die("Неудалось создать в памяти новою картинку с размером $img_w х $img_h");
imagefill($new_im000xFFFFFF);
imageCopyResized($new_im$old_im0000$img_w$img_h$img_w$img_h);
imageJpeg($new_im$file_path100);
imageDestroy($old_im);
imageDestroy($new_im);

$link $_POST[link];
mysql_query("INSERT INTO partnership VALUES ('$id','$file_name','$link')") or die("<center><b>Произошла ошибка добавления записи</b></center>");
print 
"<div style='clear:both; font-family:Tahoma; font-size:12px; padding:10px; text-align:center;'>Запись добавлена! <a href='suit-partnership.php' class='link'>Вернуться назад</a></div>";
} else {
print 
"<div style='clear:both; font-family:Tahoma; font-size:12px; padding:10px; text-align:center;'>Не удалось закачать картинку. <a href='suit-partnership.php' class='link'>Вернуться назад</a></div>";
}



} else {



$p mysql_query("SELECT * FROM partnership WHERE id LIKE '3' LIMIT 1");
if(
$partnership=mysql_fetch_array($p)) {
echo <<<data
<center><div style="width:32%; float:left; border:1px solid #000; margin:5px;">
<div><img src="../img/partnership/
$partnership[img]" /></div>
<div style="font-family:Tahoma; font-size:12px; padding:10px;">
<a href="
$partnership[link]" target="_blank">$partnership[link]</a>
</div>
<div style="text-align:center; padding:5px;"><a href="?action=delete_partnership&id=3" class="link">удалить</a></div>
</div></center>
data;
} else { 
echo <<<data
<center><div style="width:32%; float:left; border:1px solid #000; margin:5px; height:60px;">
<form action="?action=add_partnership&id=3" method="post" enctype="multipart/form-data">
<input name="file1" type="file" style="width:100%;">
<div style="font-family:Tahoma; font-size:10px; padding:3px;">Размер картинки должен соответствовать размеру 170х80px</div>
<input name="link" type="text" style="width:100%" value="http://www.exemple.com">
<div style="font-family:Tahoma; font-size:10px; padding:3px;">Линк обязательно нужно писать полностью</div>
<input type="submit" value="загрузить" class="form"></center>
</form>
</div>
data;
}



}

?>


На лакалке все отлично работает...

  Ответить  
 
 автор: sim5   (05.07.2010 в 13:38)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 11:48)
 

Уже кое что. Осталось заглянуть в php.ini и проверить доступна ли загрузка: file_uploads = On.

  Ответить  
 
 автор: Slo_Nik   (05.07.2010 в 11:59)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 11:48)
 

>Notice: Undefined index: adv_img in /home/ecofrien/public_html/aventgroup.uz/admin/suit-partnership.php on line 10

если Вам выдало такое предупреждение, то в массив $_FILES естественно ни чего не попадает.
уберите это предупреждение, найдите причину, почему у Вас не определяет $_FILES['adv_img']

p.s. Ваш скрипт вполне рабочий, проверил, всё грузит нормально

  Ответить  
 
 автор: Tim4ik   (05.07.2010 в 11:48)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 10:25)
 

Вообщем дела такие.

В конфигурации все включенно. Но скрипт не получает файл.

я попробывал вывести информацию о файле:


echo ("имя загружаемого файла: ".$_FILES['adv_img']['name']."<br>");
echo ("mime/type файла: ".$_FILES['adv_img']['type']."<br>");
echo ("размер загруженного файла: ".$_FILES['adv_img']['size']."<br>");
echo ("полный путь к временному файлу: ".$_FILES['adv_img']['tmp_name']."<br>");
echo ("код ошибки: ".$_FILES['adv_img']['error']."<br>");


все поля в брайзере выводятся пустые...

имя загружаемого файла:
mime/type файла:
размер загруженного файла:
полный путь к временному файлу:
код ошибки:


что делать... Помогите плиз.

  Ответить  
 
 автор: sim5   (05.07.2010 в 11:07)   письмо автору
 
   для: Tim4ik   (05.07.2010 в 11:04)
 

Это не я говорю, об этом официальный мануал говорит.

  Ответить  
 
 автор: Tim4ik   (05.07.2010 в 11:04)   письмо автору
 
   для: sim5   (05.07.2010 в 11:02)
 

Ок спасибо! Ща попробую сделать как Вы сказали!

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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