Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

terra

upload não funciona

Recommended Posts

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

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

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.