orzeszek
16.02.2004, 22:49:27
Doszedłem do tego co nie działa. Otóż obrazki, które się ładują na serwer mają chmod 0, a powinny mieć 705. Wiem, że to lamerskie pytanie, ale jak powiedziałem, wcześniej ja tylko wykrzystuję gotowe skrypty i nie znam się na php: jak nadać uprawnienia obrazkom, które ładjują się na serwer. Tzn co dopisać i gdzie w skrypcie, żeby załadowany obrazek miał chmod 705?
Byłbym wdzięczny za odpowiedź.
pozdr.
orzech
paszczak
16.02.2004, 23:18:15
A czy w katalogu z obrazkami nie ma przypadkiem pliku HTTCCESS jeżeli jest to zmień go z
Kod
<Files "*">
Order Deny,Allow
Deny from all
</Files>
<Files ~ ".(gif|jpe?g|png)$">
Order Deny,Allow
Allow from all
</Files>
Options none
lub podobny kod może być daje ci przykład

na
Kod
<Files "*">
Order Deny,Allow
Deny from all
</Files>
jeżeli to nie pomoże to wykasuj go całkowicie i wtedy spróbuj
orzeszek
17.02.2004, 05:59:03
Nie ma pliku pliku HTTCCESS... Może go utworzyć? A co do pierwszej odpowiedzi, to tam pojawia się wiele obrazków. I chodzi o to by automatycznie po załadowaniu nadało im się chmod. Skopiuje Wam fragment kodu, któy odpowiada za wrzucenie obrazka na serer (tak myślę, że to to) i może ktoś podpowie mi gdzie co wstawić...
[php:1:9f6b584711]<?php
function news_add_form() {
global $PHP_SELF;
echo '<form name="form_1" method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td align="right" valign="top" class="menu">tytuł newsa</td>
<td class="next">
<input type="text" name="title" size="12">
</td>
<tr>
<td align="right" valign="top" class="menu"></td>
<td class="next">
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu">długa treć</td>
<td class="next">
<textarea name="textcd" cols="45" rows="15"></textarea>
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu">obrazek</td>
<td>
<input name="icon" type=file> <b class="menu">tylko format *.gif !</div></b>
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu"> </td>
<td class="next">
<input type="reset" name="Reset" value="od nowa">
<input type="submit" name="ok" value="dalej>>>">
<input type="hidden" name="step" value="2">
<input type="hidden" name="action" value="news_add">
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu"> </td>
<td class="menu"><br><b><a href="'.$PHP_SELF.'">REZYGNUJ</a></b>
</td>
</tr>
</table>
</form>
';
}
function add_news() {
global $title, $text, $textcd, $action, $news_tbl;
global $nick, $PHP_SELF, $icon;
$d = connect_pb($news_tbl);
$r = select_pb ($d,'id',"x",'id',"DESC");
$a = $r["id"][0];
$a++;
$nazwa = "icon/".$a.".gif";
if(move_uploaded_file($icon, "$nazwa")) {
$img = '1';
chmod("$nazwa", "777");
}
$title = ereg_replace(";", "srednik111", $title);
$text = ereg_replace(";", "srednik111", $text);
$textcd = ereg_replace(";", "srednik111", $textcd);
$text = nl2br($text);
$textcd = nl2br($textcd);
$date = gmdate("Y-m-d H:i:s");
insert_pb("$news_tbl", "$a;$title;$date;$text;$textcd;0;1;0;$img;$nick;");
echo "
<script langue="JavaScript" type="text/javascript">
<!--
window.location.href='$PHP_SELF'
//-->
</script>
";
}
////////////////////////////////////////////////////////////////
function news_for_del() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x" ,'id' ,"DESC");
$num = count_pb($result);
$r = $result;
for($i=0; $i < $num; $i++) {
$id = $r['id'][$i];
$title = $r['title'][$i];
$author = $r['author'][$i];
$data = $r['date'][$i];
$stat = $r['stat'][$i];
$title = ereg_replace("srednik111", ";", $title);
if($stat==2) $napis = ' :: archiwalny'; else $napis = '';
$title = stripslashes($title);
echo "<br><a href="$PHP_SELF?id=$id&step=2&action=news_del">$data - <b><font size=-1>$title</font></b></a> ::: ($author)$napis<br>
";
}
echo "<br><br><a href="$PHP_SELF"><b>REZYGNUJ</b></a>";
}
function ready_del_news() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x==$id");
$r = $result;
$title = $r['title'][0];
$data = $r['date'][0];
$author = $r['author'][0];
$title = ereg_replace("srednik111", ";", $title);
$title = stripslashes($title);
if($access<>'unlimited' OR ($nick==$author AND $access=='add&edit&del')) {
echo "<b>Nie masz odpowiednich uprawnień!</b> Możesz tylko dodawac newsy.
<br><br><b><a href="$PHP_SELF">REZYGNUJ</a></b>";
} else {
echo "Czy jestes pewien, że chcesz usunac news "<b><font size=-1>$title</font></b> ($data)"?<br>";
echo "<h3><a href="$PHP_SELF?action=$action&step=3&id=$id">TAK</h3>";
echo "<br><br><a href="$PHP_SELF"><b>REZYGNUJ</b></a>";
}
}
function del_news() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl, $comm_tbl;
delete_pb ($news_tbl, "id", "x==$id");
delete_pb ($comm_tbl, "wid", "x==$id");
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x==$id");
$r = $result;
$icon = $r['icon'][0];
if($icon==1) unlink("icon/$id.gif");
echo "
<script langue="JavaScript" type="text/javascript">
<!--
window.location.href='$PHP_SELF'
//-->
</script>
";
}
////////////////////////////////////////////////////////////////
//============================================================//
function news_for_arch() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'stat',"x<>2" ,'id' ,"DESC");
$num = count_pb($result);
$r = $result;
for($i=0; $i < $num; $i++) {
$id = $r['id'][$i];
$title = $r['title'][$i];
$author = $r['author'][$i];
$data = $r['date'][$i];
$title = ereg_replace("srednik111", ";", $title);
$title = stripslashes($title);
echo "<br><a href="$PHP_SELF?id=$id&step=2&action=news_old">$data - <b>$title</b></a> ::: ($author)<br>
";
}
echo "<br><br><a href="$PHP_SELF"><b>REZYGNUJ</b></a>";
}
function ready_arch() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x==$id");
$r = $result;
$title = $r['title'][0];
$data = $r['date'][0];
$author = $r['author'][0];
$title = ereg_replace("srednik111", ";", $title);
$title = stripslashes($title);
if($access<>'unlimited') {
echo "<b>Nie masz odpowiednich uprawnień!</b> Możesz tylko dodawac newsy.
<br><br><b><a href="$PHP_SELF">REZYGNUJ</a></b>";
} else {
echo "Czy jestes pewien, że chcesz zarchiwizowac news "<b><font size=-1>$title</font> </b> ($data)"?<br>";
echo "<h3><a href="$PHP_SELF?action=$action&step=3&id=$id">TAK</h3>";
echo "<br><br><a href="$PHP_SELF"><b>REZYGNUJ</b></a>";
}
}
function arch_news() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
update_pb($news_tbl, "id", "x==$id", "stat", "2");
echo "
<script langue="JavaScript" type="text/javascript">
<!--
window.location.href='$PHP_SELF'
//-->
</script>
";
}
////////////////////////////////////////////////////////////////
//============================================================//
function news_for_edit() {
global $PHP_SELF, $nick, $action, $id, $nick, $access, $news_tbl;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x" ,'id' ,"DESC");
$num = count_pb($result);
$r = $result;
for($i=0; $i < $num; $i++) {
$id = $r['id'][$i];
$title = $r['title'][$i];
$author = $r['author'][$i];
$data = $r['date'][$i];
$stat = $r['stat'][$i];
$title = ereg_replace("srednik111", ";", $title);
if($stat==2) $napis = ' :: archiwalny'; else $napis = '';
$title = stripslashes($title);
echo "<br><a href="$PHP_SELF?id=$id&step=2&action=news_edit">$data - <b>$<font size=-1>$title</font></b></a> ::: ($author)$napis<br>
";
}
echo "<br><br><a href="$PHP_SELF"><b>REZYGNUJ</b></a>";
}
function news_editform() {
global $PHP_SELF, $news_tbl, $id, $access, $nick;
$d = connect_pb("$news_tbl");
$result = select_pb ($d,'id',"x==$id");
$r = $result;
$id = $r['id'][0];
$title = $r['title'][0];
$text = $r['text'][0];
$textcd = $r['textcd'][0];
$text = stripslashes($text);
$text = str_replace('<br />', "n", $text);
$textcd = stripslashes($textcd);
$textcd = str_replace('<br />', "n", $textcd);
$title = stripslashes($title);
$icon = $r['icon'][0];
$title = ereg_replace("srednik111", ";", $title);
$text = ereg_replace("srednik111", ";", $text);
$textcd = ereg_replace("srednik111", ";", $textcd);
if($access=='add') {
echo "<b>Nie masz odpowiednich uprawnień!</b> Możesz tylko dodawac newsy.
<br><br><b><a href="$PHP_SELF">REZYGNUJ</a></b>";
} elseif(($access=='add&edit' OR $access=='add&edit&del') AND $nick<>"$author") {
echo "<b>Nie masz odpowiednich uprawnień!</b> Możesz ingerowac tylko w swoje prace.
<br><br><b><a href="$PHP_SELF">REZYGNUJ</a></b>";
} else {
echo'<form name="form_1" method="post" action="'.$PHP_SELF.'">
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td align="right" valign="top" class="menu">tytuł newsa</td>
<td class="next">
<input type="text" name="title" value="'.$title.'" size="12">
</td>
<tr>
<td align="right" valign="top" class="menu">krótka treć</td>
<td class="next">
<textarea name="text" cols="45" rows="4">'.$text.'</textarea>
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu">długa treć</td>
<td class="next">
<textarea name="textcd" cols="45" rows="15">'.$textcd.'</textarea>
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu"> </td>
<td class="next">
<input type="reset" name="Reset" value="od nowa">
<input type="submit" name="ok" value="dalej>>>">
<input type="hidden" name="step" value="3">
<input type="hidden" name="action" value="news_edit">
<input type="hidden" name="id" value="'.$id.'">
</td>
</tr>
<tr>
<td align="right" valign="top" class="menu"> </td>
<td class="menu"><br><b><a href="'.$PHP_SELF.'">REZYGNUJ</a></b>
</td>
</tr>
</table>
</form>
';
}
}
function update_news() {
global $PHP_SELF, $news_tbl, $id, $text, $textcd, $title ;
$text = nl2br($text);
$textcd = nl2br($textcd);
$title = ereg_replace(";", "srednik111", $title);
$text = ereg_replace(";", "srednik111", $text);
$textcd = ereg_replace(";", "srednik111", $textcd);
update_pb($news_tbl, "id", "x==$id", "title", "$title");
update_pb($news_tbl, "id", "x==$id", "text", "$text");
update_pb($news_tbl, "id", "x==$id", "textcd", "$textcd");
echo "
<script langue="JavaScript" type="text/javascript">
<!--
window.location.href='$PHP_SELF'
//-->
</script>
";
}
?>[/php:1:9f6b584711]
-----------------
[zmoderowane]
Włączyłem BBCode /BzikOS
orzeszek
17.02.2004, 06:39:52
Więc sprawa wygląda teraz w ten sposób, że utworzyłem plik htaccess o zawartości
Kod
<Files "*">
Order Deny,Allow
Deny from all
</Files>
ale niestety nic się przez to nie zmieniło. Jeżeli próbuję przed nazwą pliku dodac kropkę, czyli .htaccess to plik kasuje mi się automatycznie z serwera. Korzystam z komercyjnego serwera.
Fragment kodu, który wydaje mi się odpowiedzialny za nadanie chmod to
[php:1:c6c2dd8d16]<?php
$nazwa = "icon/".$a.".gif";
if(move_uploaded_file($icon, "$nazwa")) {
$img = '1';
chmod("$nazwa", "777");
}
?>[/php:1:c6c2dd8d16]
i nie wiem co zmenić, by wszystko poprawnie działało...
Proszę o pomoc.
pozdr.
orzech
scanner
17.02.2004, 07:46:37
.htaccess się nie kasuje, tylko jest ukrywany.
W związku z wcześniejszym ostrzeżeniem BzikOS'a temat blokuję.
Odblokowanie nastąpi, jak dostanę na PW propozycję zmiany tematu wątku.
____
Zmieniony temat- odblokowuję.
czachor
17.02.2004, 14:31:25
Cytat
[php:1:48cfc5bb4f]<?
chmod("/somedir/somefile", 755); // dziesiętnie; prawdopodobnie nieprawidłowo
chmod("/somedir/somefile", 0755); // ósemkowo; poprawna wartość dla praw
?>[/php:1:48cfc5bb4f]
spróbuj zmienić 5 linijkę w twoim ostatnim poście na
[php:1:48cfc5bb4f]<?
chmod($nazwa, 0777);
?>[/php:1:48cfc5bb4f]
więcej: [manual:48cfc5bb4f]chmod[/manual:48cfc5bb4f]