Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Загрузка фото...
Форумы портала PHP.SU » PHP » Программирование на PHP » Загрузка фото...

Страниц (1): [1]
 

1. span4ez - 23 Ноября, 2010 - 11:14:37 - перейти к сообщению
Еще раз всем привет ... Возникла следующая проблема...

CODE (html):
скопировать код в буфер обмена
  1. <form enctype="multipart/form-data" action="/moduls/upload.php" method="post">
  2. <table cellpadding="5" cellspacing="5">
  3.  
  4. <tr><th colspan="2">Загрузка аватарки</th></tr>
  5. <tr><td><input type="hidden" name="MAX_FILE_SIZE" value="30000"></td></tr>
  6. <tr><td>Выберите аватарку:</td><td> <input name="userfile" type="file"></td></tr>
  7. <tr><td><input type="submit" value="Загрузить"> </td></tr>
  8.  
  9. </table>
  10. </form>



PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $max_image_width        = 380;
  3. $max_image_height       = 600;
  4. $max_image_size         = 64 * 1024;
  5. $valid_types            =  array("gif","jpg", "png", "jpeg");
  6.  
  7. if (isset($_FILES["userfile"])) {
  8.         if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  9.                 $filename = $_FILES['userfile']['tmp_name'];
  10.                 $ext = substr($_FILES['userfile']['name'],
  11.                         1 + strrpos($_FILES['userfile']['name'], "."));
  12.                 if (filesize($filename) > $max_image_size) {
  13.                         echo 'Error: File size > 64K.';
  14.                 } elseif (!in_array($ext, $valid_types)) {
  15.                         echo 'Error: Invalid file type.';
  16.                 } else {
  17.                         $size = GetImageSize($filename);
  18.                         if (($size) && ($size[0] < $max_image_width)
  19.                                 && ($size[1] < $max_image_height)) {
  20.                                 if (@move_uploaded_file($filename, "/upload/")) {
  21.                                         echo 'File successful uploaded.';
  22.                                 } else {
  23.                                         echo 'Error: moving fie failed.';
  24.                                 }
  25.                         } else {
  26.                                 echo 'Error: invalid image properties.';
  27.                         }
  28.                 }
  29.         } else {
  30.                 echo "Error: empty file.";
  31.         }
  32.         }
  33.  
  34. ?>


Проблема в следующем...

Выбираю фотографию пишет "File successful uploaded." но фото не появляется в каталоге из-за чего это может быть?

Пролазил весь форум не где подобного вопроса не возникала Недовольство, огорчение
2. OrmaJever - 23 Ноября, 2010 - 12:49:05 - перейти к сообщению
Ошибка скорее всего в функции

1) лутше испольщовать функцию copy()
2) уберите @ перед функцией. Увидите ошибку которую она выдаст.
3) Права на папку /upload/ стоят 777 ?
3. JustUserR - 23 Ноября, 2010 - 19:55:52 - перейти к сообщению
span4ez пишет:
Пролазил весь форум не где подобного вопроса не возникала
Возможной причиной описанного вами вопроса может являеться произведение некорректного диагностического вывода основанного на получении информации о выполненных действия с целевым файлом - в частности для осуществления более точного тестирования целесообразно проверить обеспечению загрузки исходной версии файла во временной каталог и получение доступа к нему из текущей инстанции PHP-скрипта
4. span4ez - 24 Ноября, 2010 - 09:32:49 - перейти к сообщению
OrmaJever пишет:
1) лутше испольщовать функцию copy()
2) уберите @ перед функцией. Увидите ошибку которую она выдаст.
3) Права на папку /upload/ стоят 777 ?


У меня стоит Денвер я не понимаю как там сделать 777 на папку...
5. Uchkuma - 24 Ноября, 2010 - 09:39:05 - перейти к сообщению
Имя файла не может заканчиваться на слэш!
6. span4ez - 24 Ноября, 2010 - 09:54:51 - перейти к сообщению
Uchkuma пишет:
Имя файла не может заканчиваться на слэш!


не помогло...
7. Uchkuma - 24 Ноября, 2010 - 09:56:35 - перейти к сообщению
Что не помогло? Что вы сделали? Вы поняли, что у вас вовсе не указано имя файла в пути назначения?
8. Zend - 24 Ноября, 2010 - 12:58:46 - перейти к сообщению
Попробуйте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $name = $_FILES['userfile']['name'];
  3.  
  4. if (move_uploaded_file($filename, "/upload/$name")) {
  5.  
  6.   echo 'File successful uploaded.';
  7.  
  8.  } else {
  9.  
  10.   echo 'Error: moving fie failed.';
  11.  
  12. }
  13.  
  14.  



Когда будете переносить на хостинг, не забудьте проставить права 777.
В виндоус с правами папок заморачиваться не надо.
9. span4ez - 24 Ноября, 2010 - 16:42:09 - перейти к сообщению
Спойлер (Отобразить)



Не чего не получается ....

1) $name он будет искать директорию и пишет что нет такой....
2) без @ тоже самое пишет радостно загружено а на самом деле черт там сидел Хм
10. Uchkuma - 24 Ноября, 2010 - 17:05:14 - перейти к сообщению
span4ez пишет:
$name он будет искать директорию и пишет что нет такой
Кто будет искать? Создайте папку upload, если пишет, что нет такой. $name - это новое имя файла, его искать никто не будет Улыбка
В общем, с путями вы запутались, батенька.
11. JustUserR - 24 Ноября, 2010 - 17:46:54 - перейти к сообщению
span4ez пишет:
У меня стоит Денвер я не понимаю как там сделать 777 на папку...
Использование локальной системы тестирования web-сайтов в ОС windows в общем случае не включает в себя определение привелегий прав доступа к файлам и папкам - однако возможное появление некорректных файловых путей может обеспечивать неправильную работу системы загрзуки фотографий

 

Powered by ExBB FM 1.0 RC1