Domanda

Sto cercando di creare una pagina per l'uso solo personale. Quello che voglio fare è, di creare un sistema attraverso il quale posso scaricare le immagini al mio disco rigido locale, direttamente fornendo il link attraverso un localhost come WAMP. Il motivo per cui sto cercando di fare è, voglio le immagini da ordinati automaticamente sul mio hard disk. Il mio campo modulo sarà qualcosa di simile

<form method="POST" action="process.php">
   <input type="text" name="URL" id="URL" />
   <input type="text" name="category" id="category" />
   <input type="text" name="subcategory" id="category" />
   <input type="submit">
</form>

Ora, nel process.php

//This is just a sample... So please ignore the roughness of the coding

copy($_POST['url'],$_POST['category']."/".$_POST['subcategory']."/somename.jpg");

// If you noticed, the categories and subcategories are actually the name of directory, where I want the picture to go be saved....

Sto pensando il mio approccio è sbagliato. Come posso ottenere qualcosa di simile?

Errore

Warning: copy(images/image.jpg) [function.copy]: failed to open stream: No such file or directory in
È stato utile?

Soluzione 2

Ok, ho usato ricciolo invece di realizzare ciò che mi aspetto. Ecco il pezzo di codice

$img = $_POST['url'];
$fullpath = $_POST['category']."/".$_POST['subcategory']."/".basename($img);
$ch = curl_init ($img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec($ch);
curl_close ($ch);                   
$fp = fopen($fullpath,'x');
fwrite($fp, $rawdata);

Altri suggerimenti

Se allow_url_fopen è vero nel php.ini e il vostro PHPVERSION è> = 4.3.0 il codice dovrebbe funzionare.

è possibile scaricare dal primo php script documento da URL specificato, quindi dare http-client link per scaricare file memorizzato in locale. o contenuto del documento messo a flusso di uscita:

 $cont = file_get_contents($_GET['url']);
  header('Content-Type: application/octet-stream');
  header("Content-Transfer-Encoding: binary ");
  header('Accept-Ranges: bytes');
  header('Content-disposition: attachment; filename=' . $new_file_name));
  echo($cont);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top