Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: chmod i *.gif
Forum PHP.pl > Forum > Gotowe rozwiązania
orzeszek
Witajcie. Już poruszałem raz problem skryptu News+zdjęcie. Skrypt, którego chcę użyć jest pod adresem http://scrypty.com/skrypty_php.php?op=view&kat=8
U mnie na serwerze wszystko działa łącznie z dodawaniem obrazków i poprawnym ich wyświetlaniem, natomiast jak wysłałem cały skrypt na serwer, nadałem uprawnienia odpowiednim plikom i katalogom, to niestety nie działa :( Nie ładuje mi obrazków. To znaczy ładuje na serwer, ale nie wyświetla. Sprawdzałem kod w źródle wszystko jest o.k. Jest poprawna ścieżka dostępu do obrazka, obrazek jest w odpowiednim katalogu, ale nie jest wyświetlany... O co tu może chodzić? Bardzo prosze o pomoc.
Pozdr.
orzech
orzeszek
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
czachor
[php:1:9b2c04cc65]<?
chmod("jakis_plik", 0705);
?>[/php:1:9b2c04cc65]
paszczak
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 biggrin.gif 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 biggrin.gif
BzikOS
orzeszek: proszę zmienić temat wątku na adekwatny do pytania, w przeciwnym wypadku wątek zostanie zablokowany.
orzeszek
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">&nbsp;</td>
<td class="next">
<input type="reset" name="Reset" value="od nowa">
<input type="submit" name="ok" value="dalej&gt;&gt;&gt;">
<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">&nbsp;</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">&nbsp;</td>
<td class="next">
<input type="reset" name="Reset" value="od nowa">
<input type="submit" name="ok" value="dalej&gt;&gt;&gt;">
<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">&nbsp;</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
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
.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
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]
orzeszek
Wielkie dzięki!!! Zmieniłem tę piątąlinijkę kodu i działa!
pozdr.
orzech
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.