有没有办法直接从cPanel的filemanager中的URL上传文件

时间:2014-04-02 21:14:23

标签: php file cpanel backend

这可能是一个非常常见的问题,但我搜索了很多,最后决定得到一些专家建议。

我想知道是否有人将文件直接从URL上传到cPanel文件管理器。我可以使用文件管理器中的上传选项卡从我的计算机上传文件,但无法找到从URL中提取数据的任何选项。

我已经尝试了几个论坛,Q / A网站却什么也没得到。如果有人能将此问题提请专家注意,我将非常感激。

我看了

http://forums.cpanel.net/f145/filemanager-upload-url-215911.html

http://forums.cpanel.net/f5/upload-via-url-305691.html

和我的其他地方但只发现问题。

6 个答案:

答案 0 :(得分:23)

我也有这个问题。进行慢速连接下载然后再次上传对我来说不是一个选择。

目前没有任何方法可以通过cPanel文件管理器执行此操作。如果您无法访问SSH,可以这样解决问题:

  1. 在文件管理器中创建一个新文件,将其称为get1.php或其他任何内容,并将其放置在您可以在您的域中访问的位置。
  2. 在get.php中编辑filemanager中的文件,并输入以下代码:<?php exec("wget http://domain.com/path-to-file.zip"); ?>

  3. 现在导航到您在浏览器中在步骤1中创建的文件,因此它可能是http://domain.com/get1.php

  4. 等待。页面可能会返回500错误,没关系,wget命令仍然可以通过。
  5. 在文件管理器的cPanel中重新加载你放置get1.php的目录,你会看到那里等待你的文件。完成。
  6. 现在当然这是非常不安全的,因为任何机器人或人都可以请求你的get1.php文件,因此请确保在完成后删除它。这只是一个简单的黑客,任何更好的想法赞赏。

答案 1 :(得分:5)

我有同样的问题。我无法上传一些我需要从一台服务器转移到另一台服务器的大文件。 FTP和cPanel文件管理器都保持失败。我创建了一个upload.php文件(扩展上面提供的解决方案)并将其复制到目标目录。我无法相信这项技术的运作速度有多快!对于50MB文件,它花了几秒钟。以下是我的php文件的内容:

<!DOCTYPE html>
<html>
<head>
    <title>Upload file from URL</title>
</head>
<body>
<?php
    $BASE_URL = strtok($_SERVER['REQUEST_URI'],'?');

    if (isset($_POST['url'])){
        $url = $_POST['url'];
        echo "Transferring file: {$url}<br>";
        exec("wget {$url}");
    }
?>
    <form name='upload' method='post' action="<?php echo $BASE_URL; ?>">
        <input type='text' id='url' name='url' size='128' /><br>
        <input type="submit" value="Upload">
    </form>
</body>
</html>

在我完成传输文件后,我总是从服务器上删除这个php文件,以免给潜在的黑客一个简单的方法来替换我服务器上的文件。请不要忘记这一重要步骤!

答案 2 :(得分:2)

使用的脚本和说明 PHP Url File Remote Uploader No Size Limit,并进行了一些更改以提高安全性,

这是最终结果:

remote upload

说明:

  1. 创建目录并将下面的代码粘贴到名为index.php的文件中
  2. 在创建的目录中创建另一个名为files的目录,并将其更改为766的权限(这可以防止黑客上传php文件并可能对您进行黑客攻击,您仍然可以从cpanel访问该文件,但不能从浏览器下载它,如果要从浏览器下载它,请将权限更改为777,但请记住将其改回或删除该文件)
  3. 享受
<title>Remote Upload</title>
<center>

</br</p></br</p><form method="post">
<input name="url" size="50" />
<input name="submit" type="submit" />
</form>

<b>Instruction:</b>
</p>Sample values for ftp and http
</p>ftp://username:password@example.com/path/to/file.png
</p>ftp://example.com/path/to/file.png
</p>http://www.example.com/path/to/file.png

<?php

// maximum execution time in seconds
set_time_limit (24 * 60 * 60);

if (!isset($_POST['submit'])) die();

// folder to save downloaded files to. must end with slash
$destination_folder = 'files/';

$url = $_POST['url'];
$newfname = $destination_folder . basename($url);

$file = fopen ($url, "rb");
if ($file) {
  $newf = fopen ($newfname, "wb");

  if ($newf)
  while(!feof($file)) {
    fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
  }
}

if ($file) {
  fclose($file);
}

if ($newf) {
  fclose($newf);
}

?>
</center>

答案 3 :(得分:1)

好的当然有道路

你可以在你的ssh控制台中使用“wget”

只需打开ssh控制台即可 输入wget命令: 例如:wget;

你完成了

答案 4 :(得分:0)

您可以使用RapidLeech。这是CMS“转载”文件(服务器到服务器)而不是上传。但主机通常会禁止你使用RL,因为它消耗了太多资源。但它有很酷的功能。您可以直接使用您想要的任何屏幕尺寸获取Youtube视频,还可以通过提供您的帐户信息将文件转载回着名的文件上传网站,例如4shared。

答案 5 :(得分:0)

在目录中创建一个新的.php文件,并将下面的代码粘贴到其中。

运行脚本后,它将上传到名为 test.zip

的文件中
<?php
copy("YOUR_URL", "test.zip");
?>