Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem CHMOD
Forum PHP.pl > Forum > Przedszkole
stuki24
Witam szukałem na forum rozwiązania mojego problemu ale nie znalazłem a więc:

Pomimo nadania CHMOD 777 na katalog w którym znajdują się zdjęcia po dodaniu przez użytkownika x kolejnego zdjęcia otrzymuje on CHMOD 600 (sam plik z grafiką oczywiście)

Nie wiem co jest grane bo za każdym razem muszę zmieniać ten atrybut ręcznie a to jest wkurzające przy kilkudziesięciu zdjęciach dziennie, pozdrawiam

tutaj kawałek kodu z mojej stronki:
CODE

<?php
if (!empty($_POST['name']) && !empty($_POST['id_category']) && !empty($_POST['id_location']) && !empty($_POST['city']) && !empty($_POST['phone']) && !empty($_POST['zip_code']) && !empty($_POST['description']) && !empty($_POST['street'])) {

$advertisement_id = $advertisement->addAdvertisementData($_POST['name'], $_POST['city'], $_POST['zip_code'], $_POST['street'], $_POST['id_state'], $_POST['phone'], $_POST['www'], $_POST['email']);

foreach($_POST as $tmp_post => $show_post) {
if (strstr($tmp_post, "_option")) {
$option = str_replace('_option', '', $tmp_post);
$advertisement->addOption($advertisement_id, $option);
}
else if (strstr($tmp_post, "_lng")) {
$language = str_replace('_lng', '', $tmp_post);
$advertisement->addLanguage($advertisement_id, $language);
}
}

$user_id = $_SESSION['id'];

if (empty($user_id)) {
$user_id = '1';
}

$advertisement->addAdvertisement($advertisement_id, $user_id);

$advertisement->addAdvertisementInfo("$advertisement_id", "$_POST[id_category]", "$_POST[id_location]", "$_POST[description]", "$_POST[tourist_attractions]", "$_POST[equipment]", "$_POST[start_price]", "$_POST[end_price]", "$_POST[pks]", "$_POST[pkp]", "$_POST[city_km]", "$_POST[airport]", "$_POST[shop]", "$_POST[restaurant]");

$advertisement->addTagsAdvertisement($advertisement_id, $_POST['tags']);

$advertisement->activeAdvertisement($advertisement_id);

$time = $config->showBasicConfig('payment_limit');

if ($_POST['abonament'] == 'n') {
if (!empty($_SESSION['email'])) {
$payments->addPayment($advertisement_id, $_POST['payment_id'], $time, $advertisement_id, $_SESSION['email']);
}
else
$payments->addPayment($advertisement_id, $_POST['payment_id'], $time, $advertisement_id, $_POST['email']);
}
if ($_POST['abonament'] == 'y') {
if (!empty($_SESSION['email'])) {
$payments->addPayment($advertisement_id, $_POST['payment_id'], $time, $advertisement_id, $_SESSION['email']);
}
else
$payments->addPayment($advertisement_id, $_POST['payment_id'], $time, $advertisement_id, $_POST['email']);

$advertisement->addPremiumAdvertisement($advertisement_id);
}

if (!empty($_FILES)) {
$i = 0;
$count = count($_FILES);
foreach ($_FILES as $tmp => $image) {
if ($image['size'] > 0) {
$i++;
$advertisement->addImage($advertisement_id, $i, $image['tmp_name'], '400', '300');
$advertisement->addImage($advertisement_id, $i, $image['tmp_name'], '150', '112', '1');
}
}
}
}
if (empty($advertisement_id)) {
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_search_3\"><tr><td>Wypełnij Poprawnie formularz.</tr></td></table>";
}
else {
if (!empty($_POST['sms'])) {
$control = md5($advertisement_id);
if (!empty($_SESSION['email'])) {
$payments->acceptPayment($advertisement_id, $_POST['price'], $_SESSION['email'], $control);
}
else
$payments->acceptPayment($advertisement_id, $_POST['price'], $_POST['email'], $control);
}

$payment_check = $config->showBasicConfig('payment');

if ($register == '1' && $payment_check == '1') {
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_search_3\"><tr><td>Obiekt został dodany do bazy noclegów!</td></tr></table>";
}
if ($register == '1' && $payment_check == '0') {
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_search_3\"><tr><td>Obiekt został dodany do bazy noclegów!</td></tr></table>";
}
if ($register == '0' && $payment_check == '1') {

$control = $advertisement_id;

$id = $config->showBasicConfig('dotpay_id');

$domain = $config->showBasicConfig('domain');

$check_payment = $payments->checkPaymentAdvertisement($advertisement_id);

if ($check_payment == 1) {

$pay_form = $payments->showPayment($id, $_POST['email'], $domain, $advertisement_id, $control);

echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_search_3\"><tr><td>Obiekt został dodany do bazy noclegów!</td></tr>";
chmod($image, 0777);
if (empty($_POST['sms'])) {
echo "<tr><td>Opłać Abonament.</td></tr>
<tr><td>$pay_form</td></tr>";
}
echo "</table>";
}

}
if ($register == '0' && $payment_check == '0') {

echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_search_3\"><tr><td>Obiekt został dodany do bazy noclegów!</td></tr></table>";
}
}
?>

adrianozo
Używaj BBCode
Matimor
Przy tworzeniu pliku dodaj:
  1. chmod($plik, 0777);


$plik to nazwa utworzonego pliku.


Pozdrawiam :-)
Gryf
dało by rade pokazać metodę addImage z instancji klasy $advertisement?
stuki24
a gdzie dokładnie wstawić tę funkcję CHMOD bo naprawde zielony jestem, chodzi o image żeby nadawało atrybut 777

może ktoś wkleił by w skrypt taką funkcję, będę wdzięczny
piotrooo89
proszę o dodanie bbcode, w przeciwnym razie temat zostanie zamknięty.
stuki24
czy

chmod($image, 0777);

mogę wstawić w dowolne miejsce
Agape
Polecenie to zmienia chmod danego pliku. Jasnaw wiec rzecz ze musi byc dane wtedy kiedy plik bedzie juz fizycznie na serwerze.
stuki24
no to leżę i kwiczę
Gryf
Prędzej pisałem abyś pokazał metodę odpowiedzialną za upload pliku -> addImage
to ją należy zmodyfikować.
stuki24
ok, a jak będzie wyglądał zapis, jeżeli każde kolejne zdjęcie w katalogu 'advertisement_image' w katalogu głównym na serwerze otrzymuje wyższy numer np. 2560_1.jpg, kolejne 2561_1.jpg itd. czy można jakoś zapisać że chcę nadać CHMOD 777 wszystkim istniejącym plikom w tym katalogu?

Albo np tylko plikom utworzonym po jakiejś dacie albo o numerze wyższym niż. pytam dlatego bo katalog ma ponad 23000 elementów

Gryf
tak zawsze możesz pobrać listę plików i kolejno zmieniać im chmod'y
manual się kłania - np. glob - function
albo przy pomocy klienta ftp najczęściej potrafią zmieniać chmody folderom i elementom które do nich należą
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.