Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Проблема с загрузкой изображений, прошу помощи
Helloween  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 43628
На форуме: 12 дней
Карма:




Привет всем! Возникла проблема. Имеется флэш ролик swf в который клиент загружает свою фотку. Для загрузки изображения используется php обработчик, который отправляет картинку сначала на сервер, а с сервера загружает в флэш ролик, , после чего клиент кадрирует и отправляет полученный результат на сервер. Все было хорошо, пока мы не перешли с поддержки php 5.3 на php 5.6. После перехода на php 5.6 картинка загружается на сервер но не подгружается во флэш ролик, просто идет безконечная загрузка и все.
Я склоняюсь к тому, что, когда то давно написанный php код работает не корректно на php 5.6

Прошу вас посмотреть код, может что то посоветуете как его оптимизировать, я в php не разбираюсь
Спасибо!
<?php

if(isset($_FILES['Filedata'])) { // basically if file data exists to actually upload.

$maximum_filesize = 1500 * 2000; // 9000KB
$destination_dir = 'images/'; // where we end up putting the file. Be sure this folder exists on your server


function getExtension($file_name) { // this function gets called on line 24
// The strrpos() function finds the numerical position of the last occurrence of a string inside another string (in this case, the period).

$i = strrpos($file_name,".");
if ( !$i ) {
return "";
}
$h = strlen($file_name) - $i; // The strlen() function returns the length of a string.

$ext = substr($file_name, $i+1, $h); // The substr() function returns a part of a string.
//The three parameters in paranthesis are (the string, start location, length to slice out).


return $ext; // this function returns our extension (like jpg or png, etc)
} // closes out the getExtension function


$filename = stripslashes($_FILES['Filedata']['name']); // The stripslashes() function removes backslashes added by the addslashes() function.
$extension = getExtension($filename); //uses the function we created above
$extension = strtolower($extension); // The strtolower() function converts a string to lowercase. So JPG would become jpg

// if statement below will test to make sure the extension is equal to one of these 4 values.

if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {

//if the extension was not equal to at least one of those extensions above then upload is aborted.
exit( "unable to upload file ($filename)" ); // we exit out of the script entirely with an error message

} // closes off if statement

// finally we test to make sure the filesize is below the max file size we set above.

if ($_FILES['Filedata']['size'] <= $maximum_filesize){

if($fileNameAddOn != "" ) { // if fileNameAddOn does not equal nothing
move_uploaded_file($_FILES['Filedata']['tmp_name'], $destination_dir.$fileNameAddOn.$_FILES['Filedata']['name']); // upload with the filename add on variable

} else {
move_uploaded_file($_FILES['Filedata']['tmp_name'], $destination_dir.$_FILES['Filedata']['name']); // upload without the filename add on variable
}


}
// closes off if statement that checks the filesize


}


?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 10 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 15 дней


var_dump что показывает?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


код канешь на оскара тянет, по одной из номинаций, но в нём нет depricated функционала

если картинка грузиться на сервер - то причём тут php ?

как флешь узнаёт, что ему картинку нужно с сервера забирать? куда он обращается?


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

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

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Helloween  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 43628
На форуме: 12 дней
Карма:




Цитата (Эли4ка @ 22.11.2016 - 13:40)
var_dump что показывает?

Ничего не могу сказать по этому поводу
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Helloween  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 43628
На форуме: 12 дней
Карма:




Цитата (Игорь_Vasinsky @ 22.11.2016 - 14:29)

если картинка грузиться на сервер - то причём тут php ?

как флешь узнаёт, что ему картинку нужно с сервера забирать? куда он обращается?

Как я уже говорил, проблема возникла сразу после перехода на php 5.6. Я точно не уверен, но предполагаю что причина кроется в пхп коде выше.

Флеш узнает возможно с помощью этой функции (AS3)

selectHandler = function (event:Event) : void
{
var event:* = event;
loading.visible = true;
fileNameVar = fileNameAddOn + fileRef.name;
System.useCodePage = true;
var request:* = new URLRequest(unescapeMultiByte("http://.../upload/upload.php"));
var params:* = new URLVariables();
request.method = URLRequestMethod.POST;
params.fileNameAddOn = fileNameAddOn;
request.data = params;
try
{
fileRef.upload(request);
trace("The name of the file is... " + fileNameAddOn + fileRef.name);
}
catch (error:Error)
{
trace(error);
trace("uh oh, there\'s an error");
}
return;
}// end function


upload.php содержит код, который я вставил в первом сообщении

Это сообщение отредактировал Helloween - 22.11.2016 - 15:47
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 21 день
Карма: 7




Наверно следует чуть подучит пхп, раз даже не понимаете что есть var_dump
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22689
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 27 дней
Карма: 599




Helloween
Нет магического слова, после которого всё работает. Надо внимательно проходить по шагам, логировать каждый шаг. Воспользуйся функцией file_put_contents и по шагам поймешь что происходит, тупо каждый шаг записывай "выполнился этот", "выполнился этот". С другой стороны ты должен сам понимать какие шаги выполнились и должны выполниться при загрузке фото. В конце можешь проверить существование файла через file_exists, может прав на папку не хватает, вот в конце она и не помещается туда, хотя это не идеальное решение, а вот результат функции move_uploaded_file проверяй, true или false, тогда узнаешь выполнилось перенос файла в указанную папку.

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


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


Цитата
а вот результат функции move_uploaded_file проверяй, true или false, тогда узнаешь выполнилось перенос файла в указанную папку.

Цитата
После перехода на php 5.6 картинка загружается на сервер но не подгружается во флэш ролик


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

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

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1672
Пользователь №: 16955
На форуме: 7 лет, 9 месяцев, 8 дней
Карма: 94




Цитата
$maximum_filesize = 1500 * 2000; // 9000KB


ohmy.gif


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Helloween  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 43628
На форуме: 12 дней
Карма:




Цитата (inpost @ 22.11.2016 - 18:19)
Helloween
Нет магического слова, после которого всё работает. Надо внимательно проходить по шагам, логировать каждый шаг. Воспользуйся функцией file_put_contents и по шагам поймешь что происходит, тупо каждый шаг записывай "выполнился этот", "выполнился этот". С другой стороны ты должен сам понимать какие шаги выполнились и должны выполниться при загрузке фото. В конце можешь проверить существование файла через file_exists, может прав на папку не хватает, вот в конце она и не помещается туда, хотя это не идеальное решение, а вот результат функции move_uploaded_file проверяй, true или false, тогда узнаешь выполнилось перенос файла в указанную папку.

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

Да, файл загружается на сервер, проверял папку. За подсказки спасибо, попробую ваши варианты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса