terra 1 Denunciar post Postado Abril 29, 2013 olá, tenho esse codigo de upload que esta funcionando, o que pode estar errado? $imgurl=date(YmdHis).$submitter_id; $url = $business->photo_url; if($url){ $file = fopen($url,"rb"); if($file){ $directory = "../images/business/b_"; // Directory to upload files to. $valid_exts = array("jpg","jpeg","gif","png"); // default image only extensions $ext = end(explode(".",strtolower(basename($url)))); if(in_array($ext,$valid_exts)){ $rand = rand(1000,9999); $filename = $rand.basename($imgurl); $newfile = fopen($directory . $filename, "wb"); // creating new file on local server //essa parte estou tentando adptar ao restante do codigo, pois preciso disso //essa parte funciona vindo de um formulário, mas preciso que funcione vindo de uma url if (move_uploaded_file($directory.$filename)) { pic_resize(900,700,"../images/business/b_".$filename,"../images/business/b_".$filename); pic_resize(195,180,"../images/business/b_".$filename,"../images/business/b_".$filename."_195x180"); pic_resize(150,95,"../images/business/b_".$filename,"../images/business/b_".$filename."_150x95"); pic_resize(100,100,"../images/business/b_".$filename,"../images/business/b_".$filename."_100x100"); pic_resize(80,80,"../images/business/b_".$filename,"../images/business/b_".$filename."_80x80"); pic_resize(40,40,"../images/business/b_".$filename,"../images/business/b_".$filename."_40x40"); //fim da parte estou tentando adptar ao restante do codigo, pois preciso disso if($newfile){ while(!feof($file)){ // Write the url file to the directory. fwrite($newfile,fread($file,1024 * 8),1024 * 8); // write the file to the new directory at a rjate of 8kb/sec. until we reach the end. } agradeço qualquer ajuda valeu Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Saraiva 84 Denunciar post Postado Abril 29, 2013 Se entendi o que você esta querendo acho no caso é que o seu sistema que faça upload através de um formulario e tambem de uma url, se for ne caso o que pode ser feito e criar criar duas funções uma para uplaod de através de um formulario e outra para fazer através de uma url. ex: function uploadFile($file) { //função que o upload } funtion copyUrl($file) { //função que copia uma imagem de uma url } E no caso na hora de fazer o upload voce pode fazer uma verificação se o arquivo veio de uma url ou do formulario e chamar a função adequada pra cada caso. E só uma coisa move_uploaded_file não ira funciona com o esquema de url. para mais informações sobre move_file_uploaded http://br2.php.net/manual/pt_BR/function.move-uploaded-file.php Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Abril 29, 2013 ola, nesse caso so quero fazer pela url, nesse codigo acima basta eu colocar a function e retirar move_upload? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Saraiva 84 Denunciar post Postado Abril 29, 2013 Nesse caso você pode ultilizar curl para fazer isso: da uma lida no manual sobre curl http://br2.php.net/manual/en/book.curl.php e no google tbm tem bastante coisa que pode lhe ajudar amigo. https://www.google.com.br/search?hl=pt-BR&biw=1366&bih=640&noj=1&sclient=psy-ab&q=php+copiar+imagem+com+curl&oq=php+copiar+imagem+com+curl&gs_l=serp.3...122928.127616.1.127898.26.25.0.0.0.0.390.4009.7j10j6j2.25.0...0.0...1c.1.11.serp.cesumv98ulQ Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Abril 29, 2013 o upload esta Funcionando pela url normal, grava no bd e na pasta. O que não esta funcionando é o pic_resize ou seja eu preciso que ele grava na pasta a mesma imagem em diversos tamanhos. valeu Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 29, 2013 Lembrando que para utilizar deste recurso, você depende de configurações do ambiente. E onde está a função pic_resize ? Considere ler: http://php.net/manual/pt_BR/function.imagecopyresized.php Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Abril 29, 2013 eu tenho a função pic_resize em em um include, funciona normal em outro codigo que faço upload do formalulario. Estou tentando adaptar no codigo abaixo que faço o upload pela url. $imgurl=date(YmdHis)."13"; $url = $business->photo_url; if($url){ $file = fopen($url,"rb"); if($file){ $directory = "../images/classificados/"; // Directory to upload files to. $valid_exts = array("jpg","jpeg","gif","png"); // default image only extensions $ext = end(explode(".",strtolower(basename($url)))); if(in_array($ext,$valid_exts)){ $rand = rand(1000,9999); $filename = $rand . basename($imgurl); $newfile = fopen($directory . $filename, "wb"); // creating new file on local server if($newfile){ while(!feof($file)){ // Write the url file to the directory. fwrite($newfile,fread($file,1024 * 8),1024 * 8); // write the file to the new directory at a rjate of 8kb/sec. until we reach the end. } echo 'File uploaded successfully! You can access the file here:'."\n"; echo ''.$directory.$filename.''; } else { echo 'Could not establish new file ('.$directory.$filename.') on local server. Be sure to CHMOD your directory to 777.'; } } else { echo 'Invalid file type. Please try another file.'; } } else { echo 'Could not locate the file: '.$url.''; } } else { echo 'Invalid URL entered. Please try again.'; } como posso adaptar o codigo abaixo, no codigo acima? essa é minha dúvida e dificulade pic_resize(900,700,"../images/business/b_".$filename,"../images/business/b_".$filename); pic_resize(195,180,"../images/business/b_".$filename,"../images/business/b_".$filename."_195x180"); pic_resize(150,95,"../images/business/b_".$filename,"../images/business/b_".$filename."_150x95"); pic_resize(100,100,"../images/business/b_".$filename,"../images/business/b_".$filename."_100x100"); pic_resize(80,80,"../images/business/b_".$filename,"../images/business/b_".$filename."_80x80"); pic_resize(40,40,"../images/business/b_".$filename,"../images/business/b_".$filename."_40x40"); valeu Compartilhar este post Link para o post Compartilhar em outros sites