2013-11-08 6 views
1

У меня есть сайт example.com, где люди могут загружать изображения. Но я хочу, чтобы эти изображения были сохранены в моем cookieless домене examplestatic.com. Итак, я написал:Перекрестный домен файл, загруженный пользователем

move_uploaded_file($_FILES['image1']['tmp_name'], $folder_temp .$image_path_1); 

где температура папки: www.examplestatic.com/image_folder/big_images

Однако я получаю сообщение об ошибке, что он не может переместить файл. Раньше я перемещал загруженные файлы в папку в том же домене, и это сработало. Но так как я сменил каталог $ folder_temp на новый статический домен, он больше не работает. Как разрешить пользователям загружать файлы в междоменные?

Спасибо!

ответ

0

Я нашел решение к ней:

Это при загрузке файла через FTP с помощью PHP. Код выглядит следующим образом:

$ftp_server = "server"; 
$ftp_username = "username"; 
$ftp_password = "password"; 
$connection = ftp_connect($ftp_server) or die("could not connect to $ftp_server"); 
if(@ftp_login($connection, $ftp_username, $ftp_password)) 
{ ftp_put($connection, $folder_destination, $location_original_file, FTP_BINARY) or die("could not find directory"); 
} else { } 
ftp_close($connection); 

Мне потребовалось немало времени, чтобы выяснить непредвиденные ошибки, которые появлялись. Поэтому нужно иметь в виду несколько вещей:
1) Убедитесь, что $ folder_destination является каталогом INSIDE, папке, назначенной создаваемому пользователю ftp.
2) $location_original_file должен быть папкой, в которой сохраняется изображение (тот же каталог, на который вы ссылаетесь на картинке в своем php-коде).
3) FTP_ASCII не работает для изображений. Это должно быть FTP_BINARY (по крайней мере, FTP_ASCII не работал для меня); И, наконец, убедитесь, что все папки, к которым у вас есть доступ, используя ftp, имеют права на запись.
4) По некоторым причинам ftp_put не смог прочитать загруженный файл. Понятия не имею почему. Это как когда я открываю ftp-соединение, он теряет файл, загруженный пользователем. Итак, что я сделал, сначала сохраните файл в каталоге в том же домене, прежде чем даже открыть ftp-соединение (я сделал это последнее), а затем переместил сохраненный файл в другой домен. Мне нужно было переместить несколько версий измененного загруженного изображения, поэтому сначала я сделал все изменения, сохранил измененные версии в том же домене, а затем переместил все эти сохраненные файлы в соответствующие каталоги в новом домене.

Это примерно.

0

Я бы переместил загруженный файл в папку на вашем сервере, а затем изменил конфигурацию своего веб-сервера, чтобы ваш другой домен указывал на каталог, в котором эта папка доступна.

Смежные вопросы