PDA

View Full Version : [PHP-GTK] Impossibile creare file


Gio Games
24-07-2008, 10:02
Salve a tutti ragazzi. Stamattina mi sono svegliato di buon umore e ho deciso di dare un'occhiata all'estesione GTK per PHP per creare applicazioni desktop.
Ho installato tutto correttamente ma ho un problema.

Per fare delle prove ho cercato di creare un file in cui scrivere i risultati di una query, ma venivo avvisato che non avevo i permessi: così ho dato direttamente un 777, pensando "così non mi dirà niente".
E invece ancora "Permesso negato".
Ho provato ad avviare lo script da browser e qui non mi dà problemi, crea il file e ci scrive tranquillamente.

Tornando a provare lo script da terminale ho provato pure ad avviarlo con un bel "sudo", risultato: non mi dice più permesso negato ma non mi crea comunque il file.

Ora mi viene da pensare che ci sia qualcos'altro da impostare nella configurazione di PHP-GTK. Qualcuno di voi hai idea di che cosa può essere?

Grazie mille in anticipo per le risposte

k8__
24-07-2008, 15:52
Ciao,
La directory è scrivibile?

Quando hai provato lo script da browser era nella stessa directory di quella sui cui provavi sul desktop?

Fammi sapere,
Ciao.

Gio Games
24-07-2008, 16:10
Sìsì, la stessa directory, stesso file di script. Lanciando da browser ho soltanto commentato le parti di codice inerenti la creazione della finestra GTK.
La directory sì è scrivibile, ho impostato la possibilità di scrivere a tutti.
Secondo te cosa può essere?

A me sembra tanto strano che via browser funzioni mentre con le GTK dia problemi.

k8__
24-07-2008, 16:14
Sìsì, la stessa directory, stesso file di script. Lanciando da browser ho soltanto commentato le parti di codice inerenti la creazione della finestra GTK.
La directory sì è scrivibile, ho impostato la possibilità di scrivere a tutti.
Secondo te cosa può essere?

A me sembra tanto strano che via browser funzioni mentre con le GTK dia problemi.

Mi posti il codice che provo?
Ciao

Gio Games
24-07-2008, 16:19
Non fare caso al codice non molto ordinato, lo script non fa nulla di utile, era solo una prova :)

<?php

// controlliamo che il modulo per PHP-GTK sia stato attivato nel php.ini
if (!class_exists('gtk')) die("Controlla che il modulo php-gtk2 sia attivo nel php.ini");

// connessione al database
if($db = mysql_connect("localhost", "root", "password"))
{
mysql_select_db("tabella", $db) or die ("errore nella selezione del database");

$query = "SELECT id, nome, genere FROM tabella WHERE genere LIKE '%parola%' OR 0 ORDER BY nome";

$result = mysql_query($query, $db) or die ("query non riuscita");
}
else
die("errore nella connessione al database");

// effettuiamo la chiamata verso la classe preposta alla generazione della finestra
$finestra = new GtkWindow();

// definiamo il titolo della nostra finestra
$finestra->set_title('Finestra generata con PHP-GTK');

// permettiamo all'utente di chiudere la finestra con un click del mouse
$finestra->connect_simple('destroy', array('gtk', 'main_quit'));

$file = fopen("file.txt", "w");

$text = "";
while ($row = mysql_fetch_array($result))
{
fwrite($file, $row[nome]."\n");

$text .= $row[nome] ."\n";

}
fclose($file);

// definiamo il contenuto della finestra
$text = new GtkLabel($text);
// poniamo il contenuto all'interno della finestra
$finestra->add($text);

// mostriamo la finestra a video
$finestra->show_all();

// richiamiamo la classe principale
Gtk::main();

?>

k8__
24-07-2008, 18:53
A me, sinceramente funziona.
Ed ora che rileggo meglio, è un problema di permessi sicuro al 100% .
Dopotutto lo dice l'errore 'Permession denied'. :D

Secondo me la cartella non è riscrivibile,

Fammi Sapere.

Ciao

Gio Games
25-07-2008, 09:17
I permessi mi sembra strano non vadano bene. Sono con linux e la cartella è impostata con permessi "777" ovvero scrivibile da tutti.

E poi rimane il fatto che anche eseguendolo da "sudo", i messaggi di errore non sono mostrati, ma comunque non crea il file.
Mentre via browser nessun problema.

Idee?

k8__
25-07-2008, 16:26
I permessi mi sembra strano non vadano bene. Sono con linux e la cartella è impostata con permessi "777" ovvero scrivibile da tutti.

E poi rimane il fatto che anche eseguendolo da "sudo", i messaggi di errore non sono mostrati, ma comunque non crea il file.
Mentre via browser nessun problema.

Idee?

strano..
prova a postare un ls -l

Gio Games
25-07-2008, 18:34
drwxrwxrwx 2 gioele gioele 4096 2008-07-25 10:16 gtk


Come vedi ho reimpostato per l'ennesima volta i permessi anche stamattina ma nulla da fare. Soliti errori

Warning: fopen(query.txt): failed to open stream: Permesso negato in /var/www/gtk/window.php on line 27

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/gtk/window.php on line 32

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/gtk/window.php on line 32

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/gtk/window.php on line 32

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/gtk/window.php on line 32

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/gtk/window.php on line 37


Molto strana questa cosa. Intanto grazie per tutto l'interessamento