Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

CASS 10% pe bani din banca din 2024

Criza de generatoare electrice HY...

Montaj semineu pe pardoseala parc...
 FATMA -

Institutia medierii

Mașini mici fașneț...

La multi ani @persona695!
 La Multi Ani de Sfantul Andrei!

Trebuie sa economisim energie sau...

That '90s Show (2023 - ...)

Recomandare cablu display-port (p...
 Aparat pentru masurare radiatii t...

Unde vedem parada militara Bucure...

Inregistrare audio fara consimtam...

Cum pun protectie in Google Walle...
 

Scriere in fisiere

- - - - -
  • Please log in to reply
9 replies to this topic

#1
NGG

NGG

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 02.04.2002
Am un cont de webhost free si folosind un script PHP vreau sa scriu intr-un fisier plain-text situat intr-un subdirector de pe site.

Problema este ca nu-l pot deschide pentru scriere decat daca il upload-ez si ii stabilesc atributul pentru scriere, altfel accesul este interzis. Acceasi probema apare si daca vreau sa creez un fisier nou.

Va rog sa-mi spuneti cum pot sa creez fisiere si sa scriu in ele nemai setand manual atributele din clientul FTP ?

#2
mircea

mircea

    Junior Member

  • Grup: Members
  • Posts: 152
  • Înscris: 30.11.2001
daca vrei sa creezi fisiere dinamice e mai complicat.
Eu am satzi dau un ex. pentru scrierea intr'un fisier txt

";
	exit;
}

if (! file_exists($FILE))
	error("Can't find file, check '$FILE' var...");
$file_arry = file($FILE); //or error("Can not open $FILE");
		
while (list($key, $val) = each($file_arry)) {
	if ($val != "") {
		list($file_txt, $nb) = preg_split("/t|n/", $val);
		if ($file_txt == $url) { 
			$nb++; $file_arry[$key] = "$file_txtt$nbn"; $find = 1;
		}
	}
}

$file = join ("", $file_arry);

$file_txt = variabila in care scrii continutu .. care poate fii luat dintr'un form .. prin get la php'u  

Nu stiu daca am fost destul de explicit .. oricum... daca nu stii deloc php .. este putin dificil ...

2.Un fel de file manager ...

view a directory, create files, erase files, edit files, create directories, remove directories, and upload files from your browser directly into the directory

 
 
 
<html> 
 
Filesystem Browser-Current Directory="<?=$GlimpseDir;?>" 
 
<body> "; 
	echo "YES
"; echo "NO
"; echo ""; exit(); } if ($action=="move") { echo "Current Filename is: ".$file . "
n"; echo "
n"; echo "Newfile Name
n"; echo "n"; echo "n"; echo "n"; echo "n"; echo "
"; exit(); } if ($action=="edit") { echo "
n"; echo "Current Filename is: ".$file ." "; echo "n"; echo "n"; echo "n"; echo "
n"; $fp=fopen($basedir.$file,"r"); $contents=fread($fp,filesize($basedir.$file)); echo "
n"; echo "
"; exit(); } ?> Back to root
"; echo "n"; echo "n"; echo "n"; echo ""; echo "n"; } } closedir($handle); ?>
FilenameTypeSizeAction
" . htmlspecialchars($file) . "" . filetype($filename) . "" . filesize($filename) . ""; if(filetype($filename)=="file") { echo "View "; echo "Edit "; echo "Dele "; echo "Move "; } if(filetype($filename)=="dir") { echo "ChDr "; echo "RmDr "; } echo "






Sa speram ca am  acoperit problema ta... :cool:  :cya:

#3
alex

alex

    Member

  • Grup: Members
  • Posts: 258
  • Înscris: 18.02.2002

Quote

Originally posted by NGG
Am un cont de webhost free si folosind un script PHP vreau sa scriu intr-un fisier plain-text situat intr-un subdirector de pe site.

Problema este ca nu-l pot deschide pentru scriere decat daca il upload-ez si ii stabilesc atributul pentru scriere, altfel accesul este interzis. Acceasi probema apare si daca vreau sa creez un fisier nou.

Va rog sa-mi spuneti cum pot sa creez fisiere si sa scriu in ele nemai setand manual atributele din clientul FTP ?


ca sa creeze fisiere, php trebuie sa aiba permisiunea, adica chmod 777 folderul unde vrei sa creeze fisierul.

#4
NGG

NGG

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 02.04.2002
1.
Multumesc, mircea, pentru exemplele tale ! Sunt interesante si bune de inspirat. Stiu cum sa scriu in fisiere, dar, asa cum zicea alex, s-ar putea sa fie o problema de permisiuni.

Daca ii dau 777 inseamna ca ca toate drepturile sunt permise, dar pentru cine ? Nu si pentru vizitator ? Daca directorul unde vreau ca PHP-ul sa creeze fisierul este cgi-bin, nu ii dau acces la el si vizitatorului ?

2.
Cu ocazia asta va rog sa ma lamuriti si pe mine cum e cu drepturile astea: ce inseamna Owner, Group si Public ?

Drepturile Read, Write si eXecute la cine se refera ? Numai la scripturi sau si la operare din browser.

3.
Daca vreau sa creez un fisier dintr-un script si ii dau directorului R si W nu il vede si vizitatorul ?

Sper ca nu v-am agasat cu atatea intrebari !

Multumesc !

#5
pstdgt

pstdgt

    Monsieur

  • Grup: Administrators
  • Posts: 5,847
  • Înscris: 06.02.2002
owner, group si public:

provin din sistemul de securitate din unix, in care userii sunt grupati in .. grupuri :D

owner==userul care a creat fisierul/folderul
group==grupul in care este inclus ownerul
public==toti userii (inclusiv aia care intra pe site)

daca dai 77 pe un director oricine poate vedea ce este in el .. daca are optiune +Indexes (adica sa vada indexul folderului)..daca nu, o sa vada un 403 Forbidden.

fisierele care le vei creea prin PHP in acel folder vor avea ca owner userul cu care ruleaza procesul webserverului (apache, probabil) .. adica numai prin aceeasi metoda vor putea fi accesate sterse etc... deci nici o problema in sensul asta :D

ai sa vezi ca exista acele drepturi (r,w,x) pentru owner, group si public.. cred ca acum intelegi ce inseamna.


sper ca te-am edificat :D.. daca nu .. mai zi si mai incerc :D

#6
mircea

mircea

    Junior Member

  • Grup: Members
  • Posts: 152
  • Înscris: 30.11.2001
problema ta cred ca se poate rezolva cel mai bine folosind htaccess. In acest mod poti sa setezi cam cine sa aiba acces la anumite fisiere si cine nu ,,, cauta pe net tutorialuri cum sa folosesti htaccess .. sunt o gramada
unu simplu e aici

-----------------------

In order to setup htaccess properly, you will need to create two files. A file named ".htaccess" and ".htpasswd".

.htaccess - This file contains information on where the password file is located, and extra variables you want to define for your login prompt (name etc...).

.htpasswd - All of your usernames and passwords (encrypted) are stored in this file. Using the following format: username:encrypted_pass

Below are two example files, with some more information about each variable. We have also included a online password encrypter, to allow you to encrypt your passwords quickly and easily (vs. logging into a shell and doing it by hand - a little more complicated).

(.htaccess file - can create in Notepad, or dos 'edit' - example file) 1. AuthName "You Are Entering A Password Protected Area"
2. AuthType Basic
3. AuthUserFile /path/to/your/.htpasswd
4. require valid-user


(.htpasswd file - can create in notepad, or dos 'edit') 1. username:encrypted_password
2. username:encrypted_password


Why do both files begin with a ".h"?

Apache has been setup (by default) to protect/hide files that begin with a ".h".(this is configured in your httpd.conf apache config file). Unless you are certain you have changed this default variable in apache, you shouldn't have anything to worry about.


Adding a user to your htaccess login is as easy as opening your .htpasswd file and typing in the username, and encrypted password.

How do I encrypt a password?
Use our online password encrypter to do it for you!

As an example, we will add the following user to our .htpasswd file:

Username: bob
Password: joe

When the password joe is run through our password encrypter, you get the following encrypted password: MM1AbGM.1MDqE

You then copy and paste the password into your .htpasswd file, using the following format:
-----------------------------

http://www.perlacces.../8/htpasswd.txt

#7
pstdgt

pstdgt

    Monsieur

  • Grup: Administrators
  • Posts: 5,847
  • Înscris: 06.02.2002
asta este ca sa limiteze accesul unor useri la un folder dar el vroia sa poata manipula fisierele prin php ...

#8
NGG

NGG

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 02.04.2002
Exact asta vreau, sa pot crea fisiere noi din PHP. Daca incerc sa creez vreun fisier, primesc eroare ca nu am permisiunea s-o fac.

La fel se intampla si daca vreau sa scriu in fisiere deja existente. Pentru fisiere existente trebuie sa setez atributul 'W' din FTP pentru a scrie apoi in ele prin PHP.

#9
pstdgt

pstdgt

    Monsieur

  • Grup: Administrators
  • Posts: 5,847
  • Înscris: 06.02.2002
sunt doua posibilitati

1.userul sub care ruleaza procesul webserverului (apache probabil) nu are permisiunea sa scrie in acel director, ceea ce e anorma. Ca sa scapi de chestia asta, fa-ti un director al tau si da-i 777 (RWX la toate) si creeaza-ti fisierele acolo direct din scripturi.

2.host-ul tau foloseste safemode php. adica atunci cand este rulat un script php (cu extensia .php) sunt disabled anumite functii si nu poti sa faci anumite chestii (precum sa creezi fisiere). De obicei ca sa rulezi in normal mode php trebuie sa transformi scriptul in unul cgi :D .. pui extensia .cgi si un "#!/usr/bin/php" fara ghilimele la inceputul scriptului

sper sa-ti fie de folos

#10
NGG

NGG

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 02.04.2002
Thanks, o sa incerc !

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate