Ir para conteúdo

POWERED BY:

Arquivado

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

LuyZ

Verificar existência de pasta pelo PHP ?

Recommended Posts

Eu estou criando um aplicativo que cria subdomínios criando pastas e nessa pasta cria um index.html com informação do redirecionamento, tais como <title> keywords ect..

Então para não criar subdominios duplicados eu pensei em verificar as pastas então eu gostaria de saber como eu posso fazer isso para se poder criar um subdominio apenas uma vez para não haver "roubo de subdominios",

 

Muito obrigado por ler a minha duvida,

 

Cumps,

LuyZ

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso:

 

<?
$dir = "nomedapasta";

if(is_dir($dir)) { echo "O diretório já existe."; }
else { echo "O diretório não existe ainda."; }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso:

 

<?
$dir = "nomedapasta";

if(is_dir($dir)) { echo "O diretório já existe."; }
else { echo "O diretório não existe ainda."; }
?>

Muito obrigado Gutto Faria e André D. Molin consegui resolver este problema

Agora estou com mais um problema aqui hehe eu estou criando um código para criar um index dentro da pasta ai esta o problema vou mostrar o código

 

--> SEM IR NA PASTA

$fp = fopen('index.html', 'w');
if (is_bool($fp)) echo 'Você não tem permissão para abrir o criar um arquivo!';
fwrite($fp, " $finalprocessamento ");

fclose($fp);

 

Eu tentei ainda da seguinte forma

 

$fp = fopen('.$pasta./index.html', 'w');
if (is_bool($fp)) echo 'Você não tem permissão para abrir o criar um arquivo!';
fwrite($fp, " $finalprocessamento ");

fclose($fp);

 

MAS DEU ERRO..

 

Alguém me ajudaria ai ?

 

Muito obrigado ai Gutto Faria e André D. Molin, sou novo no forum e estou gostando muito hehe,

 

Cumps,

LuyZ

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que erro?

 

--ESTE--

Warning: fopen(../index.html) [function.fopen]: failed to open stream: Permission denied in /home/public_html/LETS.php on line 53

Você não tem permissão para abrir o criar um arquivo!

Warning: fwrite(): supplied argument is not a valid stream resource in /home/public_html/LETS.php on line 55

 

Warning: fclose(): supplied argument is not a valid stream resource in /home/public_html/LETS.php on line 57

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, contudo ele cria que eu já fiz um teste colocando index.html só sem qualquer variável, penso que tenho que coloca a parte que cria index no fim para ele pegar a pasta :S

Vou testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da forma mais simples funciona?

 

if(fopen("acesso.txt", "r") {

echo "abriu";

if(fwrite($arquivo, "texto"))
	echo "Texto atualizada!";
else
	echo "Erro na escrita.";

fclose($arquivo);
}
else
echo "não abriu";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar toda a source do file do processamento para ver se conseguem dar um concerto final porque está complicado hehe ainda por cima comecei a aprender php a mais ou menos duas a três semanas

O que o meu script faz é basicamente um bot que vai e cria pelo cpanel subdomínios contudo não estou conseguindo negar a subscrição da index.html que é enviada para cada nova pasta, ou seja qualquer um pode "roubar" o subdomínio de qualquer outro e gostaria de dar um fixed nisso

 

Muito obrigado por ler este post,

e obrigado por ajudarem -me =)

 

AQUI VAI CODIGO HEHE


<?php  

$endereco = $_POST['endereco'];

$titulo = $_POST['titulo'];

$keywords = $_POST['keywords'];

$descric = $_POST['descric'];

$fy1 = '<html> <head> <meta http-equiv="Content-Language" content="pt-pt"> <title>';

$fy2 = '</title>';

$fy3 = '<meta name="keywords" content="';

$fy4 = '" />';

$fy5 = '<meta name="description" content="';

$fy6 = '" />';

$fy7 = '

<meta name="author" content="www.webteu.com"> 

<META HTTP-EQUIV="expires" content=""> 

<META HTTP-EQUIV="charset" content="ISO-8859-1"> 

<META HTTP-EQUIV="content-language" content="Português"> 

<META HTTP-EQUIV="VW96.OBJECTTYPE" content="www.webteu.com"> 

<meta name="rating" content="www.webteu.com"> 

<META content="1 days" name=revisit> 

<META NAME="REVISIT-AFTER" CONTENT="1 DAYS"> 

<meta name="robots" content="index,follow"> ';

$fy8 = '</head>';

$fy9 = '

<frameset rows="1,*" frameborder="no" border="0" framespacing="0"  marginwidth="0"  marginheight="0"> 

<frame src="webteu.php" name="webteu" scrolling="no" noresize> 

<frame src="http://';

$fy10 = '" name="webteu2" target="full"> 

</frameset> 

</html>';

$ab = $fy1.$titulo.$fy2.$fy3.$keywords.$fy4.$fy5.$descric.$fy6.$fy7.$fy8.$fy9.$endereco.$fy10;

$username = "webte";

$password = "pw123"; //senha invalida ne rsrs

$udomain = "webteu.com";

$skincpanel = "x3";

$acao = htmlspecialchars(trim($_REQUEST['acao'])); 

if ($acao == "ok"){ 

$subdomain = htmlspecialchars(trim($_POST['nome']));

$authstr = "$username:$password";  

$pass = base64_encode($authstr);  

$socket2 = fsockopen("www.$udomain",2082);  

if(!$socket2)  

{  

print('Socket error');  

echo "<BR>There was an error while setting up the account.  Please let support@$udomain know the above error";  

exit();  

}  

$indom = "GET /frontend/$skincpanel/subdomain/doadddomain.html?domain=$subdomain&rootdomain=mydomain.com\r\n HTTP/1.0\r\nHost:$udomain\r\nAuthorization: Basic $pass\r\n\r\n";  

$dir = "$subdomain";

fputs($socket2,$indom);  

while (!feof($socket2)) {  

      fgets ($socket2,128);  

      }  




//----------------- INICIO DA PROBLEMATICA ----------------
//---- QUERO Q O ARQUIVO index.html que é enviado para dentro de cada pasta nao possa ser subscrito nao havendo assim "roubos.."


$fp = fopen("$subdomain/index.html", 'w');



if (is_bool($fp)) echo 'u sei la..'; 

//if(is_dir($dir)) { echo " ! Subdominio Já Existe !";  }

fwrite($fp, " $ab ");



fclose($socket2);  

echo"SEU SUBDOMINIO É <font color=blue size=3>www.<b>$subdomain</b>.webteu.com</font>";

}else{

echo "OFF"; 

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luyz, o atributo de leitura que você está usando é 'w', que é somente de leitura e cria ou sobrescreve um arquivo. Creio que deva ser usado o atributo 'a' ou 'a+' que cria ou continua o arquivo, exemplo:

 

<?php 

$arquivo = fopen("arquivo.txt", 'a');

if($arquivo) {

	fwrite($arquivo, "The book is on the table\n");

	fclose($arquivo);
}
else
	echo "erro ao abrir o arquivo.";

?>

 

Aí vai da sua necessidade, se criar um único arquivo index dentro de cada subdomínio e ir escrevendo dentro de cada um deles ou criar arquivos index separados, mas aí deves colocar algo a mais no nome do arquivo, como a data por exemplo, ficando "index_17072010.html".

 

Não sei se é isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui colocando a+ muito obrigado ai pessoal tinha esquecido disso hehe

 

agora eu vi que afinal ele ao invés de re-escrever esta a escrever por baixo ou seja escrever depois como se resolve isso? ideias ? hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser escrever no início do arquivo, use o modo de abertura com 'r+', isso leva o ponteiro para o início do arquivo.

 

Mais informações AQUI.

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.