Как сохранить файл с URL-адреса на веб-сервер Sourceforge в PHP?

У меня есть простой веб-хостинг на SourceForge. Весь веб-хостинг на SourceForge использует SFTP.

Теперь я хочу получить файл на другом сервере (у меня есть нет административного разрешения; но я могу просматривать его в веб-браузере нормально. Такие как: http://data.example.com/videos/fun.mp4.) на мой веб-хостинг на SourceForge (структура хостинга: /home/project-web/my-own-project/htdocs/my-folder).

Я прочитал эти ответы на многие вопросы, такие как:

Я попробовал со всеми ответами. Это отображало успешное сообщение; но на моем сервере нет файла.


Затем я попытался изменить CHMOD на 777 (Я понимаю, что это повреждение; поэтому я пробовал только для проверки). И нет файла тоже; в другом ответе есть пустой файл.

У меня есть использование phpinfo(); для проверки cURL, он (всегда) включен.


Можете ли вы сказать мне, что не так в моем списке дел. И, пожалуйста, покажите мне: «Как загрузить файл с URL-адреса на веб-хостинг SourceForge с помощью PHP?».


Мой вопрос не дублируется с существующими вопросами по переполнению стека.

Я использовал 20 кб файл для тестирования; но загруженный файл на моем сервере пуст.

1

Решение

обновленный согласно политике использования: https://sourceforge.net/p/forge/documentation/Project%20Web%20and%20Developer%20Web/#outbound-connectivity

Из-за прошлых злоупотреблений исходящий доступ к другим хостам с веб-серверов
строго запрещено и заблокировано правилами брандмауэра. это
включает доступ к другим хостам SourceForge.net; единственные исключения из
Эта политика является доступ к нашим серверам баз данных проекта и авторизован
исходящие письма. Доступ к серверу SCM недоступен из проекта
веб-серверы. Любой контент, необходимый от других хостов SourceForge.net
должны быть извлечены и сохранены в виде файла или записи базы данных, которые могут
затем получить доступ из скриптов на веб-серверах проекта. В то время как наш
Установка PHP (и другие языки) включает поддержку таких вещей, как
LDAP, IMAP и Postgres, мы не разрешаем входящий или исходящий
подключение с использованием этих протоколов. Эти компоненты включены так
сторонний код может храниться при развертывании на
Веб-серверы SourceForge.net; и поддержать тестирование проекта
код, который требует этих функций.

Таким образом, возможность подключения к внешним хостам заблокирована брандмауэром и невозможна.


Пожалуйста, оставьте свой phpinfo() вывод в вашем вопросе. В частности, сведения о системе (верхняя часть), ядро, скручиваемость, сокеты и стандартные значения секций (не указывайте конфиденциальную информацию, такую ​​как пароли / соединения с базой данных).

Существует множество вещей, которые могут помешать его сохранению, пользовательские разрешения (для исполняемого файла), конфигурация сервера, suPHP (пользователь с изолированной программной средой), веб-каталог с поддержкой chroot, конфигурация php и т. Д. Нам потребуется увидеть фактический код, который вы использовали для диагностики ваш specific issue,

Что-то попробовать, используйте этот код.

<?php

if (file_put_contents('/home/project-web/my-own-project/htdocs/my-folder/test.txt', 'Hello World!')) {
echo 'File Saved Successfully!';
}

если test.txt существует и говорит Hello World! когда вы загружаете и открываете его из SFTP, попробуйте следующее.

Также большинство клиентов SFTP необходимо обновить после добавления нового содержимого на сервер. Поэтому, пожалуйста, убедитесь, что вы обновили свой SFTP-клиент.


<?php

umask(0000); //this sets everything this script interacts with as everyone writable/executable
//(same as chmod(0777))

$output_path = '/home/project-web/my-own-project/htdocs/my-folder';
$out_file = 'fun.mp4';
$source = file_get_contents('http://data.example.com/videos/fun.mp4');
if (empty($source)) {
die('No Content Received');
}
if (!@mkdir($output_path, 0777, true) && !is_dir($output_path)){
die('Unable to create destination directory!');
}
if (file_put_contents($output_path . '/' . $out_file, $source)) {
echo 'File Saved Successfully!';
}

Я протестировал выше на своем веб-сервере с 5 MB MP4 (конкретно http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 первый результат Google для загрузки MP4), и он работал нормально.

Это будет последняя попытка заставить его работать.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]