Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
oi pessoal! estou aqui tentando fazer algo mas estou com alguns problemas. O que se passa é o seguinte:
eu necessito de mover um certo numero de imagens que são carregadas através de uma aplicação para a pasta GesUpload/ImageUploadStore.
O que faz confusão é que cada cliente carrega suas imagens e elas estão todas dentro da mesma pasta e eu necessito de as subdividir por pastas, cada pasta com o nº da encomenda por quesões de organozação interna.
Já tenho a ficha da encomenda onde faço o display dos dados do cliente, do nº de encomenda e dos thumbnails relativos a essa encomenda. Até aqui td ok.
Mas agora eu criei um botão que, OnClick iria chamar uma função para criar uma pasta com o nº da encomenda como nome e mover lá para dentro todas as imagens relativas a essa encomenda.
A função que criei é esta:
<?php
$path = "/GesUpload/ImageUploadStore/" ;
function createDir($path){
mkdir($path,0777);
rename(".","$encomendaprint_id");
}
?>
Como eu chamo essa função de modo a que com esse botão clicando ele crie a pasta no servidor, em $path, renomeie essa mesma pasta com $encomendaprint_id(nº encomenda) e mova os arquivos para lá?
Tentei isto mas não funciona:
onClick="return createDir($path);"
Alguém me ajuda, plz??
Muito obrigado desde já. sou ainda uma novata nisto
>
Você deve criar um link para o arquivo PHP, já que PHP roda no servidor e não pode ser chamado num evento onClick (javascript).
Se quiser, chamar no onclick, deverá usar Ajax.
oi!
Mas e se forem 100 imagens? não dá para criar 100 links. Entende meu problema?
como eu uso o php para gerir os arquivos, mesmo que não seja com onClick, haverá outro modo?
Eu consigo listar as imagens , mas queria criar um directorio novo com o nº de encomenda e movê-las. Dá para fazer isso em php, né?
Obrigada pela ajuda!
Essas imagens estão num mesmo diretório, certo? Então você pode criar um loop para movê-las, sem precisar criar um link para mover cada imagem.
pois, o problema é que eu não sei como fazer isso. Eu "saquei" um script da net e tentei adaptar mas não está resultando:
o original era:
<?
if($acao == "criar"){
$pasta = $_POST["pasta"];
mkdir ("c:/apache/htdocs/$pasta", 0700 ); // aqui e o diretorio aonde será criado tipo home/public-html/
echo "Pasta <b>$pasta </b> criada com sucesso!!";
}
?>
<form action="?acao=criar" method="post">
<table border=0>
<tr><td>Nome da Pasta</td><td><input type="text" name="pasta" maxlength="13" size="13"><br></td></tr>
<tr><td colspan=2><input type=submit value="Criar pasta!"></td></tr>
</table>
</form>
aí eu adaptei para:
<?php
session_start();
$encomendaprint_id=$_GET['EncId'];
if($_POST["pasta"] ){
mkdir ("/GesUpload/ImageUploadStore/$encomendaprint_id");
echo "Pasta $encomendaprint_id criada com sucesso!!";
}else
{
echo "ERRO!";
}
?>
<link href="../CSS/text.css" rel="stylesheet" type="text/css" />
<form action="?acao=criar" method="post" name="acao" id="acao">
<table border=0>
<tr><td width="98" class="texto">Nome da Pasta</td>
<td width="78"><input name="pasta" type="text" class="texto" value="<?php echo $encomendaprint_id ?>" size="13" maxlength="13" />
<br></td></tr>
<tr><td colspan=2><input type=submit value="Criar pasta!"></td></tr>
</table>
</form>
ele entra logo fazendo "ERRO!",
mas após eu clicar no botao ele faz:
"Pasta criada com sucesso!!"
embora o $encomendaprint_id não seja reconhecido, essa parte aí ele ignora. E a pasta não é criada.
Onde você acha que estará o erro?
Esse loop, como é feito?
aliás:
<?php
session_start();
$encomendaprint_id=$_GET['EncId'];
if($_POST["pasta"]){
mkdir ("/GesUpload/ImageUploadStore/$encomendaprint_id", 0777);
echo "Pasta criada com sucesso!!";
}else
{
echo "ERRO!";
}
?>
<link href="../CSS/text.css" rel="stylesheet" type="text/css" />
<form action="?acao=criar" method="post" name="acao" id="acao">
<table border=0>
<tr><td width="98" class="texto">Nome da Pasta</td>
<td width="78"><input name="pasta" type="text" class="texto" value="<?php echo $encomendaprint_id ?>" size="13" maxlength="13" />
<br></td></tr>
<tr><td colspan=2><input type=submit value="Criar pasta!"></td></tr>
faltava o mode: 0777 para todas as permissões né?
Você deve criar um link para o arquivo PHP, já que PHP roda no servidor e não pode ser chamado num evento onClick (javascript).
Se quiser, chamar no onclick, deverá usar Ajax.