从url下载文件到服务器

时间:2014-06-18 05:59:07

标签: php

我有这个代码,但它不起作用,有人可以告诉我该怎么做?我不懂PHP,刚开始学习PHP。我正在尝试将url放入表单并将该文件从url下载到我的服务器。

        $prevod = $_POST['prevod'];
        $url = file_get_contents("$prevod");
        $fp = fopen("prevodi/", "w");
        fwrite($fp, $url);
        fclose($fp);

        <form action="prevod.php" method="post"> 
        <input name="prevod" type="text"/> 
        <input type="submit" value="Pronađi"/>
        </form>

2 个答案:

答案 0 :(得分:0)

试试这个,请避免使用变量引号

$prevod = $_POST['prevod']; $url = file($prevod);

你必须在文件名之前给出路径然后它会工作,如果它受到保护,那么你必须通过curl访问

    $urldata = realpath('../severname/folder/'.$prevod.'');
    $fp = fopen('../foldername/subfolder','w');
    $newfile = realpath('../foldername/subfolder/'. $prevod .'');
    file_put_contents($newfile, $urldata);

    <form action="prevod.php" method="post"> 
    <input name="prevod" type="text"/> 
    <input type="submit" value="Pronađi"/>
    </form>

答案 1 :(得分:0)

创建prevod.php然后添加以下代码。请创建&#34; prevodi&#34;目录也。您可以通过变量$ with_extension更改文件名。现在是gif文件。

 <?php $ch = curl_init();
    $source =  $_POST['prevod'];
    curl_setopt($ch, CURLOPT_URL, $source);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec ($ch);
    curl_close ($ch);

    $with_extension="filename.gif";
    $destination = "prevodi/". $with_extension;
    $file = fopen($destination, "w+");
    fputs($file, $data);
    fclose($file); 
 ?>