Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ae galera estou com um site aki estou com problema na hora de enviar as fotos em um arquivo zip.
Erro:
Warning: copy() [function.copy]: Unable to access in /home/vibemogi/public_html/portal/estrutura/galeria/admin/enviar_fotos_cod.php on line 28
Arquivo:
<?
$acao = $_POST[acao];
$pasta = $_POST[pasta];
$foto01 = $_POST[foto01];
$foto02 = $_POST[foto02];
$foto03 = $_POST[foto03];
$foto04 = $_POST[foto04];
$foto05 = $_POST[foto05];
$fotos_zip = $_POST[fotos_zip];
$dir2="../images/eventos/$idfranquia/$pasta";
//echo "$dir2<br>";
$uploaddir="$dir2/";
//echo $uploaddir;
?>
<h3><strong>Fotos Enviadas</strong></h3>
<? if($acao == "zip") {?>
<Table align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="60" align="right" valign="middle" bgcolor="#e5e5e5" style="border-bottom:1px solid #cccccc;border-top:1px solid #cccccc">Fotos:</td>
<td width="300" valign="middle" bgcolor="#e5e5e5" style="border-bottom:1px solid #cccccc;border-top:1px solid #cccccc">$arquivo = $_FILES['fotos_zip']['name']; // pega nome do arquivo
$arquivotemp = $_FILES['fotos_zip']['tmp_name']; // pega nome temporario do arquivo
if(copy($arquivotemp,$uploaddir.$arquivo)){ // faz copia do arquivo zipado
require_once('zip.lib.php'); //requer o arquivo, deve estar na mesma pasta
$archive = new PclZip($uploaddir.$arquivo);
$list = $archive->extract(PCLZIP_OPT_PATH, "$dir2",PCLZIP_OPT_REMOVE_ALL_PATH); // extrai todos arquivos
unlink($uploaddir.$arquivo); // exclui o arquivo zip mandado
echo "<strong>$arquivo</strong> enviado com sucesso!";?>
</td>
</tr>
</table>
<? }?>
<? if($acao == "normal") {?>
<Table align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="60" align="right" valign="middle" bgcolor="#e5e5e5" style="border-bottom:1px solid #cccccc;border-top:1px solid #cccccc">Foto 01:</td>
<td width="300" valign="middle" bgcolor="#e5e5e5" style="border-bottom:1px solid #cccccc;border-top:1px solid #cccccc">
<? if($foto01 != "none") {
$arquivo = $_FILES['foto01']['name'];
$dir = "$uploaddir$arquivo";echo " ";
// print "<strong>$arquivo</strong> já existe!";if (copy($_FILES['foto01']['tmp_name'],$uploaddir.$_FILES['foto01']['name'])) {
echo "<strong>$arquivo</strong> enviado com sucesso!";
}}
}
?>
</td>
</tr>
<tr>
<td width="60" align="right" valign="middle" style="border-bottom:1px solid #cccccc">Foto 02:</td>
<td width="300" valign="middle" style="border-bottom:1px solid #cccccc"><? if($foto02 != "none") {
$arquivo = $_FILES['foto02']['name'];
$dir = "$uploaddir$arquivo";echo " "; // print "<strong>$arquivo</strong> já existe!";if (copy($_FILES['foto02']['tmp_name'],$uploaddir.$_FILES['foto02']['name'])) {
echo "<strong>$arquivo</strong> enviado com sucesso!";
}}
}?></td>
</tr>
<tr bgcolor="#e5e5e5">
<td width="60" align="right" valign="middle" style="border-bottom:1px solid #cccccc">Foto 03:</td>
<td width="300" valign="middle" style="border-bottom:1px solid #cccccc"><? if($foto03 != "none") {
$arquivo = $_FILES['foto03']['name'];
$dir = "$uploaddir$arquivo";echo " "; // print "<strong>$arquivo</strong> já existe!";if (copy($_FILES['foto03']['tmp_name'],$uploaddir.$_FILES['foto03']['name'])) {
echo "<strong>$arquivo</strong> enviado com sucesso!";
}}
}?></td>
</tr>
<tr>
<td width="60" align="right" valign="middle" style="border-bottom:1px solid #cccccc">Foto 04:</td>
<td width="300" valign="middle" style="border-bottom:1px solid #cccccc"><? if($foto04 != "none") {
$arquivo = $_FILES['foto04']['name'];
$dir = "$uploaddir$arquivo";echo " ";// print "<strong>$arquivo</strong> já existe!";if (copy($_FILES['foto04']['tmp_name'],$uploaddir.$_FILES['foto04']['name'])) {
echo "<strong>$arquivo</strong> enviado com sucesso!";
}}
}?></td>
</tr>
<tr bgcolor="#e5e5e5">
<td width="60" align="right" valign="middle" style="border-bottom:1px solid #cccccc">Foto 05:</td>
<td width="300" valign="middle" style="border-bottom:1px solid #cccccc"><? if($foto05 != "none") {
$arquivo = $_FILES['foto05']['name'];
$dir = "$uploaddir$arquivo";echo " "; // print "<strong>$arquivo</strong> já existe!";if (copy($_FILES['foto05']['tmp_name'],$uploaddir.$_FILES['foto05']['name'])) {
echo "<strong>$arquivo</strong> enviado com sucesso!";
}}
}?></td>
</tr>
</table>
<? }?>
<br>
<a href='?pg=../estrutura/galeria/admin/listar_fotos.php&caminho=<?=$uploaddir?>'>Voltar</a>t+
>
Tenta imprimir qual o caminho que vai ser gravada a foto e veja se ele existe. Pode ser isto.
Carlos Eduardo
kra ta normal criando tudo certinho.
eu ate criei uma vez pelo ftp mais nao foi
vlws
sera q nao pode ser alguma conexao com o banco ou alguma permissao de pasta ?
O que parece estar acontecendo é o PHP não encontrar a pasta que deveria gravar as fotos e aí dispara o erro.
Quando eu falei para imprimir, era para imprimir o caminho... Olha este trecho... Leia os comentários
$dir2="../images/eventos/$idfranquia/$pasta";// de onde vem $idfranquia?
//echo "$dir2<br>";
$uploaddir="$dir2/";
//echo $uploaddir; descomente esta linha... veja se a pasta existe.
Carlos Eduardo
idfranquia, é o id da cidade q nem mogi guacu é o número 1
ai ele cria a pasta q eu coloco o nome do eventos dentro desta pasta 1 pq foi em mogi guacu a festa.
flws
>
idfranquia, é o id da cidade q nem mogi guacu é o número 1
Perguntei de onde vem a variável, e não o que é a variável...
>
ai ele cria a pasta q eu coloco o nome do eventos dentro desta pasta 1 pq foi em mogi guacu a festa.
Qual a parte do código que cria a pasta? Não tá ali...
Carlos Eduardo
os diretorios estao criados todos corretamente.
flw
O erro é claro... A função copy não está conseguindo acessar o caminho definido para copiar...
Tente fazer o que eu disse, imprima qual o caminho que está sendo enviado para a função antes de executar e veja se existe a pasta no seu sistema.
Não vejo outra opção.
Carlos Eduardo
o idfranquia e a pasta das fotos cria no formulario para adicionar um evento, você escolhe a franquia e escreve o nome da pasta q ele cria automaticamente.
vlw
escreve o nome da pasta q ele cria automaticamente.
Cria mesmo ou era para criar? Como eu disse anteriormente, no código que você colocou aqui não cria pasta nenhuma.
>
Tente fazer o que eu disse, imprima qual o caminho que está sendo enviado para a função antes de executar e veja se existe a pasta no seu sistema.
Já fez isto?
Não vou mais poder te ajudar assim... ter que ficar falando várias vezes a mesma coisa... Enquanto você não imprimir o caminho que está sendo enviado para a função copy e verificar se está correto, se a pasta existe, se a sintaxe está correta, não tem como te ajudar.
Carlos Eduardo
kra disculpa msm
mais eu nao manjo nada php
estou fazendo o curso mais tive uma aula so.
mais entao hj eu vo flar com meu professor depois eu volto a flar com você disculpa msm,
nem imprimir eu sei como q faz xD
agradeco muito sua ajuda
abrass
Então... é mais fácil você perguntar como faz para imprimir do que ficar dizendo que está correto... é só fazer um echo...
$uploaddir="$dir2/";
//echo $uploaddir; descomente esta linha... veja se a pasta existe.
Aqui eu falei para descomentar a linha... Ou seja, tira as duas barras da frente e o que eu escrevi... ficando assim...
$uploaddir="$dir2/";
echo 'O caminho é '.$uploaddir;
Vai imprimir na tela um caminho... daí você vai no seu sistema e procura este caminho e veja se existe.
Com certeza o problema está aí mesmo...
Carlos Eduardo
Tira o nome do arquivo do destino... Assim...
if(copy($arquivotemp,$uploaddir))
Veja se funciona
Carlos Eduardo
kra nao adiantou
vo monta um site com as coisas q eu sei, acho q e mais facil viu xD
kra vlw msm pela ajuda precisando de alguma coisa ae so chama
flws
abrass
Tenta imprimir qual o caminho que vai ser gravada a foto e veja se ele existe. Pode ser isto.
Carlos Eduardo